由于面試的時(shí)候沒記問題碉纳,這些問題都是腦補(bǔ)回來的惶楼,有些問題問得很深入但是記不太清了轮蜕,也可能是我沒理解清楚。
1. promise以及then方法相關(guān)件余。
2. 使用構(gòu)造函數(shù)創(chuàng)建對(duì)象相關(guān)讥脐。
(1). 使用new創(chuàng)建時(shí)JS都做了哪些事情遭居。
(2). 如何自己實(shí)現(xiàn)new這個(gè)過程啼器,包括創(chuàng)建空對(duì)象,如何將函數(shù)執(zhí)行環(huán)境設(shè)置到該對(duì)象上俱萍,如何給它添加應(yīng)該繼承的方法端壳,這里不能用 new Object或者對(duì)象字面量創(chuàng)建一個(gè)對(duì)象再將原型鏈連接上,因?yàn)閚ew是需要自己實(shí)現(xiàn)的枪蘑。
3. 箭頭函數(shù)和普通函數(shù)的區(qū)別损谦,如果使用箭頭函數(shù)作為構(gòu)造函數(shù)是否會(huì)有不同。
4. 生成器相關(guān)岳颇。
5. http2 對(duì) http1的的擴(kuò)展照捡。
6. 實(shí)現(xiàn)給Array添加原型方法flat。
Array.prototype.flat = function () {
let res = [];
for (let i = 0; i < this.length; i++) {
if (typeof this[i] == 'object') {
res = res.concat(Array.prototype.flat.call(this[i]));
} else {
res.push(this[i]);
}
}
return res;
};