JavaScript 面試必須知道的 10 個概念

敘帝利發表於2017-10-16

1 eVTsHqSKt4Y881T2mlftFQ

自學

有成千上萬的人為了得到一份工作而學習 JavaScript 和 Web 開發。通常,自學的人對 JavaScript 語言的理解並不深刻。

令人驚訝的是,製作複雜的 Web 頁面所需的語言很少。獨立建設全站的人往往對 JavaScript 的基本原理不太瞭解。

我們可以很容易地避免複雜的問題,使用基本技能就可以實現一些效果。依靠 Stack Overflow 就可以很容易地建立一個網站而不需要理解複製的程式碼。

如果您想順利通過 JavaScript 面試,請看看這個教程 提高你的 JS 水平:中級 JavaScript 完整指南

面試

很多科技公司在面試中會考察你對 JS 的理解。一個知識豐富的求職者可以很快地回答這些問題,但是他對語言的理解並不深刻。

以下是 Web 開發面試中經常被問到的概念。理解這些概念的前提是你已經掌握了基本知識,比如迴圈,函式和回撥函式。

概念

  1. 數值型別 vs. 引用型別 —瞭解如何複製物件、陣列和函式以及如何將它們傳遞到函式中。知道引用型別複製的是什麼。瞭解原始值是通過複製值來複制及傳遞的。
  2. 作用域 —瞭解全域性作用域、函式作用域及塊作用域的不同。瞭解變數的作用範圍。知道 JavaScript 引擎如何查詢變數。
  3. 宣告提升 — 瞭解變數和函式宣告會被提升到可用範圍的頂部。瞭解函式表示式不會被提升。
  4. 閉包 — 知道函式內部建立的函式可以訪問該函式的作用域。知道這種方式允許我們做什麼,比如資料隱藏、記憶以及動態函式變換。
  5. this — 知道 this 繫結的原則。知道它的工作原理,在函式中指代的內容以及為什麼有用。
  6. new — 知道它與物件導向程式設計的關係。知道使用 new 呼叫的函式發生了什麼。瞭解使用 new 生成的物件是如何從函式的原型繼承的。
  7. apply, call, bind — 知道每個函式是如何工作的。知道如何使用它們。知道它們對 this 做什麼。
  8. 原型 & 繼承 — 瞭解 JavaScript 的繼承是通過 [[Prototype]] 實現的。瞭解如何通過函式及物件建立繼承並通過 new 實現繼承。理解__proto__prototype 的屬性以及作用。
  9. 非同步的 JS — 瞭解事件迴圈。理解瀏覽器如何處理一般的使用者輸入、網路請求以及事件。知道如何正確認識和實現非同步程式碼。瞭解 JavaScript 是非同步的和單執行緒的。
  10. 高階函式 — 瞭解 JavaScript 中的函式是第一類物件以及它的意義。知道從另一個函式返回函式是完全合法的。瞭解閉包及高階函式允許使用的技術。

更多資源

如果上面的連結不夠,那麼還有無數的資源可以幫助你學習這些概念。

我建立了 提高你的 JS 水平:中級 JavaScript 完整指南 這個教程以幫助開發者提高他們的知識。它涵蓋了所有提到的概念甚至更多。

以下是我看過而且值得推薦的一些資源。第一個是我自己寫的。

祝你面試成功。

打賞支援我翻譯更多好文章,謝謝!

打賞譯者

打賞支援我翻譯更多好文章,謝謝!

JavaScript 面試必須知道的 10 個概念

相關文章