面試中常問的十個JavaScript問題
很多公司在面試中會考察你對 JS 的理解。一個知識豐富的求職者可以很快地回答這些問題,但是他對語言的理解並不深刻。
今天我們就來說說一些 Web 開發面試中經常被問到的概念。不過理解這些概念的前提是你已經掌握了基本知識,比如迴圈,函式和回撥函式。
這裡還是要推薦下小編的web前端學習群:867726593,不管你是小白還是大牛,小編我都歡迎,不定期分享乾貨,包括 小編自己整理的一份最新的web前端資料和0基礎入門教程,歡迎初學和進 階中的小夥伴。在不忙的時間我會給大家解惑
概念
1、作用域 —瞭解全域性作用域、函式作用域及塊作用域的不同。瞭解變數的作用範圍。知道 JavaScript 引擎如何查詢變數。
2、原型 & 繼承 — 瞭解 JavaScript 的繼承是通過 [[Prototype]] 實現的。瞭解如何通過函式及物件建立繼承並通過 new 實現繼承。理解__proto__ 及 prototype 的屬性以及作用。
3、數值型別 vs. 引用型別 —瞭解如何複製物件、陣列和函式以及如何將它們傳遞到函式中。知道引用型別複製的是什麼。瞭解原始值是通過複製值來複制及傳遞的。
4、宣告提升 — 瞭解變數和函式宣告會被提升到可用範圍的頂部。瞭解函式表示式不會被提升。

5、閉包 — 知道函式內部建立的函式可以訪問該函式的作用域。知道這種方式允許我們做什麼,比如資料隱藏、記憶以及動態函式變換。
6、this — 知道 this 繫結的原則。知道它的工作原理,在函式中指代的內容以及為什麼有用。
7、高階函式 — 瞭解 JavaScript 中的函式是第一類物件以及它的意義。知道從另一個函式返回函式是完全合法的。瞭解閉包及高階函式允許使用的技術。
8、new — 知道它與面向物件程式設計的關係。知道使用 new 呼叫的函式發生了什麼。瞭解使用 new 生成的物件是如何從函式的原型繼承的。
9、apply, call, bind — 知道每個函式是如何工作的。知道如何使用它們。知道它們對 this 做什麼。
10、非同步的 JS — 瞭解事件迴圈。理解瀏覽器如何處理一般的使用者輸入、網路請求以及事件。知道如何正確認識和實現非同步程式碼。瞭解 JavaScript 是非同步的和單執行緒的。