前端面試題(JavaScript)
(前端面試題大全,持續更新)html
- 箭頭函數特色?箭頭函數和普通函數的區別
- 手寫懶加載(考慮防抖和重複加載問題)
- 手寫bind(爲何要加預參數,爲何要加new)
- apply, call, bind
- new一個對象中間作了什麼操做
- setTimeout必定會按時執行嗎?
- 講一講event loop(微任務、宏任務等)
- promise原理,Promise.all() 和 Promise.race() 怎麼用,他是幹啥的?你會在啥場景使用他,promise如何解決回凋地獄?如何和ajax配合?
- async和generator有什麼區別,寫一個async和generator函數,並介紹區別
- 內存,
- 深拷貝和淺拷貝 object.assign
- 原型鏈
- 繼承
- es6的新屬性
- 閉包
- 數組方法
- 字符串方
- sort 底層原理,是否是每一個瀏覽器都是這樣
- 冒泡,query書寫(事件冒泡)
- 寫sleep函數
- defineProperty的參數
- 一個對象不讓改變,不讓循環怎麼作? writeable, enumable
- 基本類型?symbol()
- 建立DOM節點,添加,刪除,替換,克隆對應的 api 是什麼
- 實現一個 Event 類,具備 on\off\trigger\once 四個方法
- 實現去抖函數
- 實現反轉函數
- 節流函數
- reduce實現map的功能
- 解釋並實現 new 操做 `function newOperator(Constructor, args) {}`
- js單線程。
- js判斷數組。
- 浮點數計算0.7+0.1,緣由
- window.onload和document.onload區別
- this指向的問題
- 類型判斷,這個很簡單,寫了typeof, instanceof, Object.toString.call ,
- class
- async/await
- Proxy:攔截什麼(get,set,deleteProperty, has, getPrototypeOf, defineProperty )
- 如何執行異步?
- setTimeout、setInterval與requestAnimationFrame
- 講一下什麼是 prototype
- 類數組轉化成數組的方法
- 代碼題,思路是將一個嵌套的數組用深度遍歷和廣度遍歷分別寫出來
- js類型,封裝一個類型鑑定函數
- 當即執行函數解決閉包中訪問變量的問題
- 事件輪訓機制
- 預編譯,
- 嚴格模式,
- 做用域鏈
- js腳本加載問題,async、defer問題
- 打平數組和規定深度的打平數組
- 給定一個字符串以下,請統計字符串中出現最多的字母和次數
- 實現必定時間內事件只觸發一次
- 值類型str爲何又length屬性
- 串行和並行
- 經常使用js調試工具
歡迎關注本站公眾號,獲取更多信息