學習JavaScript的必備讀物
常常有人要我推薦學習JS的書籍或者在線教程。看起來每個人都有很好的理由在JS領域有所行動。如果你對讓人興奮的工作機會很感興趣的又想要玩一玩有意思的東西,那么JS一定是個很棒的語言。隨著JS的流行度增加,相關的書籍、博客和教程也隨之大量增多,但是我不可能所有的資源都了解過,但是我看到了一些很不錯的東西也想在這里分享給你。
請注意,在這里我只會推薦我已經看過的書籍,你肯定可以發現有無數的書和我推薦的一樣好。
《Nicholas Zakas:JavaScript高級程序設計》
這本書一直都是我推薦書單上的第一名,也是我總和任何JS開發者建議的總放在書架上的一本書。Nicholas Zakas所寫的這本書非常非常奇妙:它概括了JS這門語言主要的知識點。想要讀點基本知識點?你可以在這本書里找到。想要了解JS的OOP思想?也可以在這本書里找到。想要了解文檔對象模型(DOM)?這本書也可以給大家勾畫一個大概。本書內容通俗易懂,從JS的基本知識到高級應用都有涉獵概括,因此我將它推薦給所有的JS開發者。
Stoyan Stefanov:JavaScript設計模式
要了解現在最常見的JS設計模式,以及這些設計模式是如何恰當地管理和組織你的代碼。你所選擇的設計模式會成為你的應用的基石,當你在思考如何構建你的站點時,這些設計模式會扮演很重要的角色。Stoyan是這世界上最棒的JS開發者之一,他在Yahoo!和Facebook都工作過也曾參與了YUI的構建。Stoyan很了解他在做的事情,而且他致力于普及將常見的設計模式。
Stoyan Stefanov:JavaScript面向對象編程指南,英文版
JavaScript面向對象,請盡情地用你的prototype來嘲笑我好了。因為JS不是傳統的基于“類”的面向對象語言。如果你總是在思考原型集成(prototypal inheritance)和混入(mixin),那么你只會變得很wonky。Stoyan又走在了技術大潮的浪頭上,他將這個問題劃分成了小問題來解釋。開始的時候他先是穩步解釋了一些語言基礎知識讓你在實踐中去學習,但是他又很快地投入到解釋OOP是如何工作的,使用者要如實利用JS的語言優勢來構建可重用的對象。
Nicholas Zakas:編寫可維護的JavaScript
我們都希望我們的程序可以飛速地運行,所以我們時不時會重構優化代碼。從學校學習中汲取知識很酷但是我更傾向于從前人的經驗中獲取資源。這本書將會告訴你如何優化你的代碼以提高性能。
David Herman:編寫高質量的JavaScript
在我第一次看到這本書的時候,我并沒有100%肯定它就是我想要,我覺得它更像是把其他JS書籍中的內容進行整合然后編寫出來的。但是我看到Dojo的作者Alex Russell和Chrome Frame fame都推薦了它,我還是買下了它,現在我很慶幸當時的舉動。本書的作者是Mozilla TC39的代表,同時也是(無論是學術層面上還是工業界層面上的)編程語言領域的專家。這本書的優點之一就在于,它并沒有在針對JS這門語言來闡述,它所提供的種種方法是希望編程人員能發揮語言的最大作用。本書中澄清了編程語言的每一部分是怎么工作的(比如約束、柯里化或者自動添加分號)。這本書一定適合希望他們對JS的理解能夠更上一層樓的編程人員。
John Resig and Bear Bibeault: Secrets of the JavaScript Ninja
不論你對jQuery抱有什么態度,不可否認的是John Resig(jQuery之父)確實創造除了最受歡迎JS庫,同時凸顯了JS的作用增加了JS的靈活性。這本書花了4年時間完成,但我覺得等待4年一點都不過分。
JavaScript 的那些書
淘寶前端工程師 Limu 力薦
彩蛋我知道大家手頭比較緊,所以如果有免費的資源是最好的。我很幸運地找到了一個提供一些免費資源的站點。由Revolunent創辦的JSbooks提供了一些質量不錯的在線資源:
jQuery基礎Addy Osmani的開發BackboneJS應用Eloquent JavaScript在線版博客許許多多的人都在博客上分享他們的故事、想法……我們很難辨認出到底要持續關注誰的博客。隨著閱歷的增加,我嘗試著把關注的博客的數量降低,下面這些是我誠摯推薦,認為它們非常有用的:
DailyJS
名字已經說明了一切。這個站點提供了前后端的JS相關的新聞和教程。它還會定期整理jQuery的插件。
Nicholas Zakas
我并不是Nicolas的粉絲,但是他寫的博客確實和他的書一樣棒,他的博客中提到的JavaScript的高級應用我認為每一個開發者都要銘記在心。
David Walsh
David努力成為一個很優秀的開發者,他參與了MooTools和Dojo框架的開發,現在在Mozilla工作,他的博文有極高的可用性。
Badass JavaScript
這也是一個集合報導和教程的站點。常常讓我想到過去的Ajaxian,我常在這里尋找各種有意思的庫和新的技術。
JavaScript Weekly
這是我唯一會留在收件箱中的郵件訂閱,每一周的推送都非常的有一席。說正經的,我不知道Peter Cooper怎么能找到這么多有意思的文章。不過要小心,它可是會傷害你的生產力的。
Addy Osmani
我認為Addy是最天才的開發者之一,在他的博客中可以看到從jQuery promises到AMD的許多知識,而他發表在編寫模塊化的JS中的內容非常棒。
Peter van der Zee
他是很年輕的開發者,但是Peter的JS知識非常豐富,我相信他會成為Web開發的中流砥柱。快去認識他吧。
Juriy Zaytsev AKA kangax
你可以開始訂閱Juriy的博客,他是一個生活都離不開ECMAScript的人。
2ality
我從沒有和Axel Rauschmayer博士接觸過,但是發現這個站點的時候我有一種“我勒個去,這哥們碉堡了”的感覺。當你閱讀他的文章的時候,你就會知道為什么我會發出這樣的感慨了。那些文章都寫的很有深度,就像接觸到了ECMAScript的底層,非常非常的有意思。
Nettuts
是的是的我確實帶著偏愛來推薦這個站點的,但是它真的非常非常棒。只要看一看這里的文章你一定會同意我說的。:)
課程如果你不滿足于看書和博客而是想多些一點代碼,那有成千上萬的課程(線上或線下)供你選擇來提升自己的能力:
Nettuts Premium JavaScript Courses(在線)
在這里你不僅可以找到JS的基礎課程,還能找到像Backbone這樣的JS框架和OOP這類話題的在線資源。
The JavaScript Master Class(在線)
我上了由Thomas Fuchs和Amy Hoy授課的在線課程,個人認為它非常棒,特別是能直接和講師溝通。
appendTo’s Free JavaScript Training(在線)
8個免費的視頻課程幫助你學習JavaScript。
Bocoup Training(線上和線下)
Bocoup有很棒的練習項目,他們提供了一下在線視頻,但是他們的個人練習課堂才是精華所在。
Codecademy 的 JS 課程(英文)
Codecademy是一個最容易上手學習如何用JS編程的方式之一。它是一種交互式在線學習平臺,非常有趣,你也可以和小伙伴一起來學習。
JavaScript交互式學習課程-初級(中文)
課程讓您快速認識JavaScript,熟悉基本語法、窗口交互方法和通過DOM進行網頁元素的操作,學會如何編寫JS代碼,如何運用JavaScript去操作HTML元素和CSS樣式,為JavaScript深入學習打下基礎。
JavaScript交互式學習課程-進階(中文)
課程從如何插入JS代碼開始,學習JS基礎語法、語法、函數、方法等,讓你掌握JS編程思路、知識的使用等,實現運用JS語言為網頁增加動態效果,達到與用戶交互的目的。
JavaScript 教程(中文)
本教程是 W3School JavaScript 教程的入門級版本。內容包括JS基礎語法,JS HTML DOM,JS對象,JS Window,JS 庫,實例和測驗和參考手冊。
獲取幫助學習一門新語言最難的地方就是找到組織。當有問題的時候你總會希望有人可以為你解答:
JSMentors我和Asen Bozhilov一起創建了JSMentors,希望可以提供一個安全又可以求助的地方給開發者討論和JS相關的問題。我們想要做一個對初學者友好的站點,所以我們找了一些有名的JS專家來一同回答問題,另外組隊也是很棒的想法。StackOverflow我個人認為這個站點本身就是一個非常好的資源,開發者可以在上面發布他們的問題,另外它還有專門的JS的板塊也有和JS相關的庫比如jQuery的板塊。JavaScript Topic:匯聚 JS 優秀內容CSS Topic:匯聚 CSS 優秀內容Reddit上的JavaScript板塊總結希望今天的信息量沒有多到你無法承受,有這么多學習JS的資源真是太棒了,我今天所說的只是冰山一角而已。記住,你需要選擇對你最好的方式來學習以節約你的時間。JavaScript是一門很優秀的語言,只是你需要花一些時間搞清楚它的各種細微差別。謝天謝地,你有很多辦法能學到這門語言,也有地方供你提問。
原文鏈接: Required JavaScript Reading 翻譯: 伯樂在線 - kmokidd
相關文章: