怎樣成爲一個偉大的 JavaScript 程序員

當前大多數Web開發人員面臨着這樣一個共同的問題:他們必須在多個不一樣的領域領先於他人——從數據庫到後端架構,到前端用戶界面,再到使用良好的CSS知識修正用戶界面。css

閱讀書籍

首先,也是最重要的一點是,你必須付出努力才能脫穎而出。雖然你也能夠在無意中得到點點滴滴的積累,例如,不時地閱讀一些博客文章,並且老實說,由於這種方法最初的時間和精力的投入要求低得多,因此更簡單。這樣的學習模式顯然比你專門和刻意的學習過程要花費更多的時間。關於這種窘境的解決方式也很簡單:閱讀書籍。html

book-01

書籍是人類進步的階梯。文字是咱們讓知識以濃縮的形式代代相傳的工具。成爲Web技術專家有一個要解決的問題是,你必須學會什麼時候遠離網絡自己。網絡自己就存在着讓人混亂和分心的內容,因此我要給出的第一個建議是,要閱讀相關主題的書籍。前端

對於JavaScript中,能夠先從如下書籍開始:《JavaScript the Good Parts》就像是JavaScript中的《聖經》。雖然這本書已經有點古老了,但依然是最好的起始點。《JavaScript: the Definitive Guide》也是咱們必需的,雖然你可能會將它看成是參考書。 jQuery創始人John Resig的《Secrets of the JavaScript Ninja》也值得關注。此外,你還能夠閱讀電子書,很是方便,不少在線電子書仍是免費的。另外,JavaScript Guide雖然不是書,但深受Mozilla開發人員的信賴和青睞。vue

腳本庫的學習,使用和閱讀

接下來最重要的一個步驟是去了解腳本庫。書籍教你如何讀懂語言,庫教你如何應用它。關於腳本庫你須要作這兩件重要的事情:使用它們,閱讀它們的源代碼。node

對於庫的使用,須要瞭解如下幾個重點的庫:jQuery,Backbone,underscore以及React、 Angular和Ember之一。這並非說你必需要使用這些庫,但任何像樣的JavaScript開發人員至少應該有必定的使用這些庫的經驗(不管好壞)。webpack

提高JavaScript技能的第二件重要的事情是閱讀這些庫的源代碼。我強烈建議閱讀Backbone和underscore的源代碼,由於它們寫得很是優美。閱讀和理解underscore能夠提升函數式編程的技巧。另外一個值得閱讀源代碼,也是其餘開發人員推薦給個人庫是mootols(我我的並不使用mootools,也沒有閱讀過它的源代碼。)程序員

剩下的庫,如React和Ember等,理解起來可能很難,但很是值得。此外還應該瀏覽一下其餘庫的源代碼,看看它們是如何構建代碼庫的,並嘗試探索一些新的模式。其餘著名的可以使用和閱讀其源代碼的庫包括D三、highcharts和moment.js。web

本次給你們推薦一個免費的學習圈,裏面歸納移動應用網站開發,css,html,webpack,vue node angular以及面試資源等。獲取資料👈👈👈 對web開發技術感興趣的同窗,:👉👉👉加入 👈👈👈,無論你是小白仍是大牛我都歡迎,還有大牛整理的一套高效率學習路線和教程與您免費分享,同時天天更新視頻資料。面試

練習與自問問題

要成爲一個好的JavaScript開發人員的關鍵步驟是練習,許許多多的練習。理想的狀況是,練習的重點不在於DOM,而在於語言,因此必定要確保有一個能夠運行node.js的測試工具。作各類瑣碎又大量的node.js練習。研究編碼招式,經歷使用JavaScript的不一樣方式:閉包,原型,擴展數組(map、filter)等。在作練習的同時,要開始在腦中造成JavaScript的基本思想。數據庫

ask-01

個人一個朋友,Armagan,一位優秀的JavaScript程序員,也是一個使用《Pro JavaScript Design Patterns》用於講座的老師,因此這本書值得一閱。

在學習的同時,要試着回答一些問題,例如:原型如何繼承工做?閉包的定義?關鍵字含義如何改變?如何使用apply/bind/map/filter/call?收集一系列JavaScript開發人員須要面臨的共同源要點,並試着用本身的話來解釋。用書面或口頭的形式向另外一我的解釋這些概念,有利於極大地提升你的技能。在練習的同時,儘可能去思考「若是是那種狀況,又該如何?」的情景。例如,「若是我使用兩次bind,那個這個」this「會是什麼意思?jQuery如何確保this關鍵字指向jQuery對象,而不是全局對象?這個庫如何完成必定的功能?」等等,這些都是你應該時常問問本身的常見問題。

學習標準

接下來須要瞭解的是EcmaScript標準。研讀最新的EcmaScript標準副本。同時,還能夠試着瞭解JavaScript中即將推出的功能,如ES6和ES7。近期已經出現了例如promises、modules、generators、comprehensions等新功能,好好閱讀標準,也能夠閱讀專業書籍,如Nicholas Zakas的《Understanding EcmaScript 6》或Axel Rauschmayer博士的《Exploring JS》,或許會有所幫助。從主要源學習標準以及探索新增的語言纔是通往專業化道路的途徑和方法。

利用網絡資源

我前面提到過利用網絡來了解網絡是危險的,可是如今我要提議的是咱們還能夠利用網絡來獲取最好的資源。《Hacker News》就是一個很好的來源,可是持續的跟蹤一般會耗費更多的時間,由於真正有用的信息比例是很低的。相反,還不如直接瞄準每週摘要如《JavaScript weekly》呢。隨着時間的推移,你天然會領悟到哪些庫或技術愈來愈有吸引力。能夠在Twitter上找找有影響力的JavaScript開發人員。 其餘的網絡資源包括博客如Toptal Blogs、Rebecca Murphey’s blog和Nicholas Zakas’ blog等。

另外一個很是重要的網絡資源是視頻會議和教育視頻。說到會議,JSConf系列的品質就很高。至於教育視頻,我強烈建議Pluralsight,由於他們有着編寫高質量課程經驗的開發軍團。

簡而言之

  • 讀書,書中自有信息之精華。
  • 瞭解基本的庫,如jQuery、underscore和Backbone,閱讀源代碼。
  • 練習,試着用本身的話去解釋常見的JavaScript概念,例如繼承。就上述主題作演講和講座。
  • 通讀新版本的標準,使用最新增長的語言。
  • 利用網絡資源,查看摘要和博客,以及視頻會議和教育視頻。

結論

不斷重複上述步驟,並參與到大量的項目中去有助於你快速提升你的JavaScript技能。但始終要牢記,只有付出纔會有回報,纔會有望成爲專業人士。我自認爲本身是一個很好的JavaScript程序員,可是要想成爲專業人士我依然還有很長的路要走,還須要不斷地學習和掌握知識和技術。

本次給你們推薦一個免費的學習圈,裏面歸納移動應用網站開發,css,html,webpack,vue node angular以及面試資源等。獲取資料👈👈👈 對web開發技術感興趣的同窗,:👉👉👉加入 👈👈👈,無論你是小白仍是大牛我都歡迎,還有大牛整理的一套高效率學習路線和教程與您免費分享,同時天天更新視頻資料。

最後祝學習快樂,願與君共勉!

相關文章
相關標籤/搜索