這本書作為被大家推薦的最多的前端入門書籍是有道理的。
他能真正讓大家了解dom腳本編程,或是說前端編程技術背後的思路和原則。
對於初學者來說,這本書沒有任何門檻,按部就班跟著書籍實例編寫代碼即可。
我們會知曉如何對瀏覽器元素操作和掌控,會學會如何實現簡單的頁面效果。
這種簡單易得的成就感是壹個編程語言入門時最難能可貴的體驗。
閱讀建議:
這本書雖然簡單,但是能讓人快速對前端產生興趣和成就感。
不過後續學習jquery的時候可能會產生挫敗感。原生js dom操作的成就感會被jquery便捷的API所徹底打敗。所以壹定要恰當的調整心態,轉換思維方式,正確認識到jquery和原生js分別的優劣之處。
在熟練使用jquery後還能想起來翻看這本書,找到之前未曾發現的閃光點,就是入門成功了。
2. JavsScript高級程序設計(第三版)
無論何時,這都是學習js最好的書。
如果說其他的書都是在合適的階段會有不壹般的體驗。
這本書就是無論什麽階段,都夠妳感悟壹番的。
當妳看完了市場上js相關(不包括框架類庫的最佳實踐類)的所有書籍。妳再回去看這本書,也會發現其實95%的內容早就寫在這本書裏了,只不過妳當時等級不夠,根本沒有意識到。
這本書排版舒服,翻譯得體,內容豐富,語言流暢。涵蓋了js語法(面向對象,閉包作用域等),js使用(dom,bom,html5API),編程實踐(高階函數,編碼規範)等程序員使用javascript時會遇到的大部分問題。
(今天在上海面試了壹天。大部分很順利,只是有幾個比較偏的問題沒回答好。晚上回去之後壹翻高程三,果然在裏面都寫得明明白白的。不得不服。)
閱讀建議:
人們喜歡把他和犀牛書拿壹起推薦,不過就我看來,他們完全不是壹個可讀性上的。
壹個是課本壹個是字典。而且還是佶屈聱牙的字典。
所以無論何時我都會把高程三排在js推薦書籍的第壹位。
3. 鋒利的jQuery
圖忘了拍了,就不補了。
這本書如果緊接著dom編程看,會如我我說的那樣瞬間摧毀妳的小小的成就感。
因為這本工具書級別的書簡單暴力到不給妳思考什麽“平穩退化”,“js動畫計時器”這些dom編程中提及的問題,就直接就甩出壹大片簡單有效的jqueryAPI顛覆妳的世界觀。
這本書是如此的易懂以至於看完之後瞬間就覺得自己能把web玩出壹片花來了。
作為工具書級別的書,或是說學習jqueryAPI的書,這是首選。
閱讀建議:
熟悉jquery是每個前端必須要會的事。
只是不要被Jquery的便捷迷惑,而拋離原生js,把原生js貶得壹文不值,否則後面會付出昂貴的代價。
4. 學習Javascript數據結構與算法
這本書相對是壹本冷門書。
為什麽我會推薦他,是因為他能解決每個半路出家的js程序員都曾思考過的壹些問題:
1. 我們的數組Array這麽強大,要棧Stack,隊列Queue這些功能少,半半拉拉的東西幹什麽呢?
2. 我們學的數據結構搞來搞去好像也就那些玩意,為什麽被大家這麽推崇,還要分門別類討論呢?
所以這本書只是為何告訴妳上面這些問題的答案:
1. 棧和隊列本來就沒有Array功能強。沒有Stack和Queue類只是因為ES5不去實現它而已。作為壹種相互之間存在壹種或多種特定關系的數據集合,其存在意義是不應該被其功能強大與否來決定的。
2. 數據結構和編程語言無關。語言死了,他們會在下壹門語言裏重生。哪怕計算機死了,他們都會在下壹個概念體裏重生。
閱讀建議:
跟著書本把這裏面的結構全部敲壹遍,快的話壹天就能搞定。
從此妳便再不怕懼怕js相關的簡單數據結構問題。
但是,遇上高級的樹,圖等問題該跪還是要跪。因為這本書虎頭蛇尾,後面的高級點的數據結構介紹的不夠深。
適合經常反思“它從哪裏來,要到哪裏去?”的js程序員,或後悔以前數據結構沒好好學的前端同學。
5. JavaScript設計模式與開發實踐
我認為騰訊AlloyTeam的這本書對我幫助媲美高程三。
那時候我恰好換公司,從原來的開發方式切換成另壹種完全不同的開發方式,讓我很不適應。
這本書及時的蹦出來,他拿實際的應用場景舉例,告訴妳不同js項目裏如何***通設計模式,還極其詳細的介紹了函數的高級用法,能讓妳對js高階函數的認知上升壹個臺階。
難能可貴的是他還拿java作為靜態語言的類比。從語言統壹高度來給妳分析這些問題。
和上本介紹數據結構的書壹樣,這本書有的放矢,能完美的解決對js設計模式有疑問的同學的實際問題。
他比上本書更深刻,更易讀,也更貼近實踐。
閱讀建議:
這是本適合反復閱讀的書籍。
如果妳的思路能根據應用場景自動切換到最適合的設計模式,說明妳已吃透這本書了。
6. 高性能JavaScript
作為Orelly唯壹壹本我確實認可的javascript相關的書。作為Orelly唯壹壹本我確實認可的javascript相關的書。
他摒棄了Orelly系列所有我不喜歡的特點:
老外的聊天說教式閱讀體驗,樣例不夠豐富,排版單壹,破事水等。
他的優點如下:
1. 情景豐富,基本涉及所有js性能優化的場景。還會給出不同場景的實際測試數據,真實可信。我們在閱讀這些場景實例的同時也豐富了自己js的使用經驗。
2. 給出了很多看似"旁門左道"的解決方案,而這些冷門的解決方案恰恰是有些人死活百度不到的真正能解決問題的最優解。
3. 在說問題的同時說原理,深入淺出,遊刃有余。所以這本書不僅僅是壹本介紹js性能相關的書,而是壹本涉及瀏覽器原理,js解析原理,用戶體驗等知識的javascript最佳註解。
閱讀建議:
建議和高程三壹起看,可以算是高程三閱讀的最佳伴侶。
高程三告訴妳“他叫什麽,他什麽樣”,
這本書就告訴妳“他為什麽”,“他該怎樣”。
所以,當別人還在為某些問題絞盡腦汁的時候,妳已經從起點上幹翻他們了。
7. 妳不知道的JavaScript(YOU DONT KNOW JAVASCRIPT)
大名鼎鼎的Github開源的書籍。大名鼎鼎的Github開源的書籍。
為了他的名氣我也得買壹本實體書來拜讀下。
這本是上卷,只涉及作用域和閉包,this和對象原型兩部分。
不過其深入程度是其他js書籍難以企及的。
可以說,這已經是大部分前端程序員對js語法可以深入了解的最底層了,再往下就直面編譯原理了。