1 . 漸進增強 VS 優雅降級
漸進增強:針對低版本瀏覽器進行構建頁面,保證最基本的功能,然後再針對高級瀏覽器進行效果、交互等改進和追加功能達到更好的用戶體驗。
優雅降級:一開始就構建完整的功能,然後再針對低版本瀏覽器進行兼容。
2 . webpack ,grunt ,gulp 之間的區別
Grunt是一個任務管理器,能大大提高您運行前端開發工作流程。
gulp.js - 基於流的自動化構建工具。
Webpack 是當下最熱門的前端資源模塊化管理和打包工具。
3 . 什麼是對象
對像就是一些屬性和方法的集合
4 . 什麼是閉包
能訪問函數內部變量的函數
5 . for循環和for in循環有什麼區別
前者 index變量是 number,後者是string;前者循環array,後者循環object枚舉類型包括對象原型屬性
6 . 前端跨域解決方法
後端允許前端跨域(cors),jsonp,設置代理(proxy)
7 .請求狀態碼
400--傳參字段類型錯誤,401--授權失敗,403--禁止訪問,404--請求不存在; 301--永久重定向,302--臨時重定向(post 大部分會轉get),303--臨時重定向(如果post轉爲強轉get),304--網址未修改,307--臨時重定向(post 不會轉get);500--服務器內部錯誤,501--沒有開放的請求錯誤,502--請求的網關錯誤,503--服務器不可用,504--網關超時,505--http請求版本不受支持
8 .node.nodetype== 1 代表element ,2代表屬性,3代表文本節點,8代表註釋
9 .循環頁面節點 var el = document.querySelector("#id")
var child = el.firstChild;
var fragment = document.createDocumentFragment();
var node=null;
while(child ){
fragment.appendChild(child);
child = el.firstChild;
}
10 .正則表達式,reg
var reg = /\{\{,*\}\}/ig;
reg.test(string), string.match(reg) , reg.exec(string) // /g 全局 /i 不分大小寫 ,/m 表示多行匹配 ;/s表示特殊字符圓點 . 中包含換行符;/u表示最近的一個字符串,不重複;
; test ; match; exec(可以根據“()”分組) 等方法寫法不同; ?---懶惰匹配
11 在瀏覽器中輸入網址後回車發生了哪些事情
-
DNS解析
-
TCP連接(三次握手)
-
發送HTTP請求
-
服務器處理請求並返回HTTP報文
-
瀏覽器解析渲染頁面
-
連接結束
12 怎麼獲取服務器最新的時間
根據 XMLHtmlRequest readyState 的值來區分: 0 表示創建XMLHtmlRequest對像未來初始化; 1 表示調用了opend方法,準備發送數據; 2 表示調用了send方法,開始發送請求了,並獲得服務器響應頭信息; 3 表示獲得頭部響應信並正在接收body數據; 4 表示接收數據完成;
所在當狀態爲2 時就可以獲取 響應頭部 date 的時間;