你須要知道面試中的10個JavaScript概念

翻譯原文出處:10 JavaScript concepts you need to know for interviewsjavascript

以前不是鬧得沸沸揚揚的大漠窮秋文章《爲何只會Vue的都是前端小白?》;甚至大多數回頭看了,也就會jQuery和Vue這兩個庫;也就大部分在運用着這兩個庫。我這裏不是吐槽和開罵什麼的;在以前jQuery年代,不少面試官都會問除了用jQuery來實現,能不能改寫原生JavaScript來處理。也大部分人在看jQuery源碼,甚至窮出不盡的底層庫。html

自我學習

目前有成千上萬的年輕人在學習JavaScript和Web開發,但願得到一份工做。一般,自我學習的年輕人對JavaScript語言自己不夠深刻了解,在這方面留下了一片空白。前端

實際上使人驚訝的是,只須要了解很是小的一部分語言就能夠來製做複雜的網頁。在本身的網站上建立網站的人每每不太瞭解JavaScript的基本原理。大多數年輕人基本都是經過Bootstrap、jQuery及插件、Backbone或Angular等庫和框架直接就搞定,並且還能構建複雜應用。java

使用基本技能來避免複雜的主題和實現功能是至關容易的。在不理解被複制的代碼的狀況下,經過依賴Stack Overflow、github等網站放出的demo,甚至一些建站網站來建立本身的網站是比較輕鬆的。react

若是您想要掌握更多的JavaScript面試相關資訊,請查看「 提高你的JS:中級JavaScript的權威指南git

面試

那麼問題來了,測試您對JavaScript深淺理解的問題,正是許多科技公司在面試中所要求的。當一個求職者只是恰好能經過面試,但若是不夠深刻了解該語言的本質,這是很槽糕的。github

如下是Web開發中常見的概念須要重要的,前提是你已經瞭解了循環、函數和回調等基礎知識。面試

概念

一、值和引用 — 瞭解對象、數組和函數是經過引用進行復制和傳遞的;瞭解原始元素是按值複製和傳遞的。
二、做用域 — 瞭解全局做用域,函數做用域和塊做用域之間的差別。瞭解哪些變量在哪裏能夠用。瞭解JavaScript引擎如何執行變量查找。新出的ES6語法中申明變量關鍵字let、const對變量做用域的影響。
三、變量提高 — 瞭解變量和函數聲明被提高到可用範圍的頂部;瞭解函數表達式沒有提高。
四、閉包 — 知道閉包是指能夠訪問其餘函數做用域內變量的函數。知道這樣作可使咱們作什麼,例如建立私有變量,動態函數生成等。
五、this — 知道this的綁定規則。知道它是如何工做的,知道如何找出它在函數中與之相等的,而且知道爲何它是有用的。
六、new — 知道new如何與面向對象編程有關,知道使用new調用的函數會發生什麼,經過函數的prototype屬性瞭解如何使用new繼承生成的對象。
七、apply,call,bind — 知道這幾個函數如何工做的,知道如何使用它們,知道它們作了什麼。
八、原型和繼承 — 瞭解JavaScript中的繼承經過prototype鏈進行工做,瞭解如何經過函數和對象設置繼承,以及new函數幫咱們來實現它。知道__proto__和原型屬性是什麼以及它們的做用。
九、異步JS — 瞭解事件循環。瞭解瀏覽器如何處理用戶輸入,Web請求和通常事件;知道如何識別並正確實現異步代碼。瞭解JavaScript是異步單線程的。
十、高階函數 — 瞭解函數是JavaScript中的一級對象,這意味着什麼;知道從另外一個函數返回函數是徹底合法的。瞭解閉包和高階函數容許咱們使用的狀況。編程

更多資源

若是上面的知識點包含的連接還不夠,那麼你能夠上其它網站找資源,能夠幫助您學習這些概念。segmentfault

我我的建立了 提高你的JS:中級JavaScript的權威指南,以幫助開發者提升他們的知識;它涵蓋了全部這些概念和更多。

這裏是我已經閱讀或看過的資源,至少有一些能夠推薦。

Good luck for your interviews!!!!(這句你懂得)

若是你發現這頗有用,就請您點個贊,轉發給其餘人也看到它(這是博主原話)。

隨時查看我最近的一些寫的文章:

參考

相關文章
相關標籤/搜索