-
說一下閉包?
閉包的實質是因為函數嵌套而形成的作用域鍊
閉包的定義即:函數 A 内部有一個函數 B,函數 B 可以通路到函數 A 中的變量,那麼函數 B 就是閉包
-
export和export default的差別?
使用上的不同
export default xxx
import xxx from './'
export xxx
import {xxx} from './'
-
說一下自己常用的es6的功能?
此題是一道開放題,可以自由回答。但要注意像let這種簡單的用法就别說了,說一些經常用到并有一定高度的新功能
像module、class、promise等,盡量講的詳細一點
4.什麼是會話cookie,什麼是持久cookie?
cookie是伺服器傳回的,指定了expire time(有效期)的是持久cookie,沒有指定的是會話cookie
5.數組去重?
此題看着簡單,但要想面試官給你高分還是有難度的。至少也要寫出幾種方法
js
var arr=['12','32','89','12','12','78','12','32'];
// 最簡單數組去重法
function unique1(array){
var n = []; //一個新的臨時數組
for(var i = 0; i < array.length; i++){ //周遊目前數組
if (n.indexOf(array[i]) == -1)
n.push(array[i]);
}
return n;
}
arr=unique1(arr);
// 速度最快, 占空間最多(空間換時間)
function unique2(array){
var n = {}, r = [], type;
for (var i = 0; i < array.length; i++) {
type = typeof array[i];
if (!n[array[i]]) {
n[array[i]] = [type];
r.push(array[i]);
} else if (n[array[i]].indexOf(type) < 0) {
n[array[i]].push(type);
r.push(array[i]);
}
}
return r;
}
//數組下标判斷法
function unique3(array){
var n = [array[0]]; //結果數組
for(var i = 1; i < array.length; i++) { //從第二項開始周遊
if (array.indexOf(array[i]) == i)
n.push(array[i]);
}
return n;
}
es6
6.es6方法數組去重
arr=[...new Set(arr)];
es6方法數組去重,第二種方法
function dedupe(array) {
return Array.from(new Set(array)); //Array.from()能把set結構轉換為數組
}
7.get、post的差別
此題比較簡單,但一定要回答的全面
1.get傳參方式是通過位址欄URL傳遞,是可以直接看到get傳遞的參數,post傳參方式參數URL不可見,get把請求的資料在URL後通過?連接配接,通過&進行參數分割。psot将參數存放在HTTP的包體内
2.get傳遞資料是通過URL進行傳遞,對傳遞的資料長度是受到URL大小的限制,URL最大長度是2048個字元。post沒有長度限制
3.get後退不會有影響,post後退會重新進行送出
4.get請求可以被緩存,post不可以被緩存
5.get請求隻URL編碼,post支援多種編碼方式
6.get請求的記錄會留在曆史記錄中,post請求不會留在曆史記錄
7.get隻支援ASCII字元,post沒有字元類型限制
8.你所知道的http的響應碼及含義?
此題有過開發經驗的都知道幾個,但還是那句話,一定要回答的詳細且全面。
1xx(臨時響應)
100: 請求者應當繼續提出請求。
101(切換協定) 請求者已要求伺服器切換協定,伺服器已确認并準備進行切換。
2xx(成功)
200:正确的請求傳回正确的結果
201:表示資源被正确的建立。比如說,我們 POST 使用者名、密碼正确建立了一個使用者就可以傳回 201。
202:請求是正确的,但是結果正在進行中,這時候用戶端可以通過輪詢等機制繼續請求。
3xx(已重定向)
300:請求成功,但結果有多種選擇。
301:請求成功,但是資源被永久轉移。
303:使用 GET 來通路新的位址來擷取資源。
304:請求的資源并沒有被修改過
4xx(請求錯誤)
400:請求出現錯誤,比如請求頭不對等。
401:沒有提供認證資訊。請求的時候沒有帶上 Token 等。
402:為以後需要所保留的狀态碼。
403:請求的資源不允許通路。就是說沒有權限。
404:請求的内容不存在。
5xx(伺服器錯誤)
500:伺服器錯誤。
501:請求還沒有被實作
【1】智一面gtalent提供超多的web前端工程師小程式開發的筆試題
(給小主呈上一道微信小程式的面試題點我享用)
【2】擷取更多面試技巧,戳http://www.gtalent.cn