1. 程式人生 > >web 前端面試題

web 前端面試題

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 在瀏覽器中輸入網址後回車發生了哪些事情

  1. DNS解析

  2. TCP連線(三次握手)

  3. 傳送HTTP請求

  4. 伺服器處理請求並返回HTTP報文

  5. 瀏覽器解析渲染頁面

  6. 連線結束

12 怎麼獲取伺服器最新的時間

   根據 XMLHtmlRequest readyState 的值來區分: 0 表示建立XMLHtmlRequest對像未來初始化; 1 表示呼叫了opend方法,準備傳送資料; 2 表示呼叫了send方法,開始傳送請求了,並獲得伺服器響應頭資訊; 3 表示獲得頭部響應信並正在接收body資料;  4 表示接收資料完成;

所在當狀態為2 時就可以獲取  響應頭部 date 的時間;