10個你在JavaScript面試前需要掌握的概念

景略集智發表於2018-11-12

10個你在JavaScript面試前需要掌握的概念

現在有很多人通過自學或其它途徑學習JavaScript,希望藉此獲得一份工作。但自學JavaScript常常會讓不少人對這門語言的理解存在很多知識盲點,比如能開發出複雜的網頁,但JavaScript基礎知識並不牢固。然而在JavaScript崗位面試時,通常面試官會檢驗你是否真正理解了JS。如果求職者的理解比較淺顯,沒有深刻掌握,技術資深的面試官很快就能看出來。


下面就為大家總結10個在web開發面試中經常問到的概念知識點,前提是你已經掌握諸如迴圈、函式和回撥之類的基礎知識。


  1. 基本資料型別和引用資料型別——理解物件(object)、陣列(array)和函式(function)是如何被複制和傳入到函式中的。理解引用資料型別複製的是什麼。理解基本資料型別是通過複製值本身來複制和傳遞的。
  2. 作用域——瞭解全域性域、函式用域和塊作用域之間的差異。理解哪些變數可用於何處。知道JavaScript引擎如何查詢變數。
  3. 變數提升——瞭解變數和函式宣告會被提升到可用範圍的頂部。明白函式表示式不可提升。
  4. 閉包——知道在函式具有其建立作用域的訪問許可權,並知道該特效能讓我們做些什麼,比如封裝私有變數、變數儲存和匿名立即執行函式(IIFE)。
  5. This——知道This的繫結規則。知道它的工作原理,以及如何判斷在函式中它指代什麼。還有知道為什麼this非常有用。
  6. New——知道它與物件導向程式設計之間的關係。知道使用new呼叫函式時會發生什麼,為何被new呼叫的函式被稱為建構函式。理解通過使用new生成的物件是繼承自函式的prototype屬性。
  7. Apply,call,bind——知道每一種函式是如何工作的。瞭解如何使用它們。知道他們是怎樣影響this的指代的。
  8. 原型&繼承——瞭解JavaScript中的繼承通過[Prototype]鏈進行工作。知道如何通過函式和物件來設定繼承,以及new如何幫我們實現它。知道什麼是__proto__和prototype屬性,以及它們的作用。
  9. 非同步 JS——瞭解事件迴圈。知道瀏覽器如何處理使用者輸入、web請求和事件函式的。知道怎樣識別和編寫非同步程式碼。瞭解JavaScript中的非同步和單執行緒分別是怎樣的。
  10. 高階函式——瞭解函式在JavaScript中是第一類物件以及這意味著什麼。知道從另一個函式返回一個函式是完全合法的。瞭解閉包和高階函式允許我們使用的技術。


相關文章