《javascript高級程序設(shè)計》是一本相當(dāng)不錯的教程,很全面,寫的也很易讀。是一本很有名的書了。書中有很多例子,看書的時候最好自己練習(xí)一下,會有比較大的收獲吧。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供瀍河網(wǎng)站建設(shè)、瀍河做網(wǎng)站、瀍河網(wǎng)站設(shè)計、瀍河網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、瀍河企業(yè)網(wǎng)站模板建站服務(wù),10年瀍河做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
還有其他一些圖書,比如《javascript權(quán)威指南》《JavaScript入門經(jīng)典》《JavaScript.DOM高級程序設(shè)計》等等,寫的都很不錯。如果要買的話,要買最新版本了。
入門可以看《javascript高級程序設(shè)計》與《javascript dom 編程藝術(shù)》尤其是后者,真是好書。我以前看了許多視頻,翻那本很厚的指南與高程,最后還是靠《javascript dom 編程藝術(shù)》激發(fā)我學(xué)習(xí)興趣入門。
看了三四次《javascript高級程序設(shè)計》就可以看蝴蝶書《javascript語言精辟》,這是講JS的語法設(shè)計,那些語法應(yīng)該用,那些不應(yīng)該用(如==、 with、 eval、 argument.caller),這提高你的代碼質(zhì)量必不可少。
如果你想寫一個插件或一個庫,就要涉及大量DOM,BOM知識了。畢竟javascript是膠水語言,而CSS與HTML在JS里都會映射為DOM,此外還有一些涉及瀏覽器的東西,叫BOM。
掌握各大瀏覽器提供的底層DOM、BOM API,及了解它們之間的差異,如何檢測它們是否支持,如果屏蔽它們之間的差異性,如何選用最佳的API是我們成為高手的關(guān)鍵。
《PPK 談 Javascript》,主要是說DOM的兼容性與可用性問題。
《JavaScript DOM高級程序設(shè)計》,這本非常優(yōu)秀,不知為何被理沒了(也可能是出版社的緣故,很早就買斷貨就不知道補課),我在這里了解許多操作CSS的API。
《JavaScript框架設(shè)計》這完全是本面向中高級的書,涉及一般書沒有講解過的模塊加載器,事件管理系統(tǒng),選擇器引擎,異步列隊,動畫引擎,及時下日益流行的MVVM架構(gòu)。
《數(shù)據(jù)結(jié)構(gòu)與算法JavaScript描述》,越復(fù)雜的系統(tǒng),最后都在架構(gòu)與算法與數(shù)據(jù)結(jié)構(gòu)上下功夫,雖然用得不多,但作為一個高手,算法不精真是一個痛點。比較實現(xiàn)一個選擇器引擎,人家都會問你比jQuery的快嗎?加之JS在這方面也有它的特殊點,因此還得學(xué)習(xí)。
時下也有許多angular與backbone的書,我本人認(rèn)為他們基本上照搬官網(wǎng)的API文檔,很少能講到底層的實現(xiàn),能獲得的知識點太少了,它們只能用于入門(你英語不好的話),因此不建議入。
不要著急,靜下心來慢慢看。
先講一下自己吧。 大一,學(xué)校不讓帶電腦。偶然的機會下對前端產(chǎn)生了興趣,大神學(xué)長們都推薦看這本書,然后就在沒有代碼實踐的情況下研究這本書。之前有pascal與c的基礎(chǔ),匆匆翻了一遍之后出現(xiàn)第一個問題:
對面向?qū)ο笥懈拍?,但根本不熟悉,思維還是停留在面向過程中,最嚴(yán)重的是自己覺得懂了。
然后在頗有自信的情況下去讀了第二遍,主要研究原型和編程模式的東西,出現(xiàn)了第二個問題:
有誤解,理解不透徹,有些急,最嚴(yán)重的是自己沒意識到這些。
然后快要期末考試了,各種高數(shù)大物,放下了一陣,偶爾看看一些零散的東西,也沒太記住。
轉(zhuǎn)
折出現(xiàn)在這個寒假,到家后還在看這本書,主要看閉包,沒幾天有了自己的電腦,終于迎來了代碼實踐,但當(dāng)時特別想架站,就去看深入淺出nodejs(真心是
本好書,會上癮的那種精彩),這本書我還看不太懂,但我在讀他的時候突然意識到了自己之前看的js高級程序設(shè)計根本沒看到家,連門都沒摸到,然后重新去
讀,又有了一些新的感悟和動力,然后這兩本書穿插著讀,在看一些偏應(yīng)用的知識,感覺好充實,這種充實是種很棒的讀下去的動力。
回到你的問題,直到現(xiàn)在,我仍然為自己在學(xué)習(xí)時無名的焦躁,急切,挫敗感,無知的自信,自以為是感到深深地后怕,但現(xiàn)在自己還沒擺脫他們。我很理解你的問題,我的建議就是簡單的“不要著急,靜下心來慢慢看”。
如果你像我一樣基礎(chǔ)不好,就別想著會讀著多順利,可以先適當(dāng)放一下難點,多想想是什么亂七八糟的需求產(chǎn)生了這樣亂七八糟的代碼,理解到了就會深深地感受的這些創(chuàng)作者的智慧。
入門就《JavaScript+DOM編程藝術(shù)》
這個階段處于對JS有基本認(rèn)識,包括語法和數(shù)據(jù)類型概念, 還包括JS的組成以及DOM的基本操作。
對JS有一定認(rèn)識和理解的時候就《JavaScript高級程序設(shè)計》
這個階段處于對JS的探索階段,要了解JS的各種性能、不同終端和解釋器的兼容性、以及原型鏈、封裝和繼承概念等。
對JS已經(jīng)有自己的理解和思想了就《JavaScript 權(quán)威指南》,可以把這本書當(dāng)JS字典用
這個階段就是突破階段了, 會形成自己的編碼風(fēng)格和思想,處于架構(gòu)層次的突破階段。