首頁  >  文章  >  web前端  >  十個JavaScript 開發者都應該知道的概念

十個JavaScript 開發者都應該知道的概念

小云云
小云云原創
2017-12-05 10:45:251316瀏覽

現在學習 JavaScript 和 Web 開發的人很多,他們都希望能憑此獲得一份工作。然而,自學常常會使學習者對 JavaScript 語言本身的理解存在知識盲點。

實際上,令人感到驚訝的是,他們只需要掌握很少的語言知識就能製作複雜的網頁,然而這樣通常不能很好地掌握 JavaScript 的基礎知識。

使用基本的技能來實現功能和避免複雜的需求是相當容易的,透過依賴 Stack Overflow,而不理解複製來的程式碼以建立網站也是十分容易。

面試

但問題是,許多科技公司在面試中提問時,目的是檢驗你對 JavaScript 是否真正理解。當求職者只是對 JavaScript 有淺顯的認識,而不是深刻理解這門語言,面試官很快就會清楚是什麼情況。

以下是一些 Web 開發面試中常見的概念。當然,我們假設你已經熟知諸如循環、函數和回調這些基本概念。

概念

1. 原始值與參考值(Value vs. Reference)

理解物件、陣列和函數是如何複製和傳遞到函數中的。了解引用值是複製了什麼,並理解原始值是透過複製值來複製和傳遞的。

2. 域(Scope)

理解全域域、函數域、區塊級作用域之間的差異。了解變數在哪裡是可用的,了解 JavaScript 引擎如何執行變數查找。

3. 提升(Hoisting)

認識到變數和函數的宣告會被提升到宣告所在的上下文,即在變數的作用域內,不管變數在何處聲明,都會被提升到作用域的頂部,但是變數初始化的順序不變。認識到函數表達式不會被提升。

4. 閉包(Closures)

認識到一個函數會保留對在其內部創建的域的訪問,認識到這些可以讓我們做什麼,例如資料隱藏、內存化以及動態函數生成。

5. this

瞭解 this 綁定的規則。知道它的工作機制,知道在函數中如何判斷它等同於什麼,並且認識到為什麼它是有用的。

6. new

認知到它如何與物件導向程式設計產生連結。了解透過 new 呼叫的函數會發生什麼。理解透過使用 new 來自函數 prototype 屬性的 繼承 的物件是如何產生的。

7. apply ,  call ,  bind

了解這些函數是如何運作的,並了解如何使用它們。了解它們對 this 做了什麼。

8. 原型與繼承(Prototypes & Inheritance)

理解 JavaScript 中的繼承透過 [[Prototype]] 鏈來運作。理解如何透過函數和物件設定繼承,以及  new 是如何幫助我們實現的。了解  __proto__ 和  prototype 屬性是什麼,以及它們的功能。

9. 非同步 JS(Asynchronous JS)

瞭解事件循環,理解瀏覽器是如何處理使用者輸入、Web 請求和一般事件的。知道如何識別並正確實現非同步程式碼。理解 JavaScript 中非同步和單線程分別是怎樣的。 .

10. 高階函數(Higher Order Functions)

#理解這些函數是JavaScript 中的第一類物件以及這意味著什麼,了解從另一個函數返回函數是完全合法的。了解閉包和高階函數允許我們使用的技術。

大家還有什麼補充的嗎,在留言區跟大家分享吧~

以上內容就是十個JavaScript 開發者都該知道的概念,希望能幫助大家。

相關推薦:

10 個有趣的 JavaScript 的腳本語言

JavaScript是如何運作的

#10個有趣的Javascript和CSS函式庫

#

以上是十個JavaScript 開發者都應該知道的概念的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn