首頁  >  文章  >  web前端  >  學習JavaScript的經驗之路

學習JavaScript的經驗之路

巴扎黑
巴扎黑原創
2017-08-04 13:19:201021瀏覽

這篇文章主要介紹如何學JavaScript?前輩的經驗之談,也就是怎麼學前端的問題,具有一定的參考價值,有興趣的小伙伴們可以參考一下

鑑於時不時,有同學私信問我怎麼學前端的問題。
這裡統一回覆一下,如下次再遇到問我此問題同學,就直接把本文連結地址傳給你了。

先說句題外話。關於有人管我叫大神的事。
個人感覺這跟你買東西時,人家管你叫帥哥一樣,你答應與否都無妨。

正題開始,前端怎麼學,應該因人而異,別人的方法未必適合自己。
就說說我的學習方法吧。
我把大部分時間放在學習js上了。因為這個js的學習曲線,先平後陡。
專案實踐和練習啥的,我不說了,主要說下工作以外的時間利用問題。
我是怎麼學的呢,看書,分析原始碼。
個人這幾天統計了一下,前端書目前看了50多本吧。大部分都是js的。市面上的書基本,差不多都看過。

第一個問題是,看書有啥好處?
好處應該是不言而明的,書看多了,基礎會逐漸夯實起來。
看多了,自己的判斷力,自然就上來了。
看別人的文章,就能很快判斷出,對方每塊兒講得對不對,哪塊兒又是自己不清楚的,模稜兩可的。
當然也為看源碼,分析源碼提供了基礎。

10本書讀2遍的好處,應該大於一本書讀20遍。
10本書的交集,那就是基礎知識的核心,而並集那就是所有的知識。
好書當然要多讀,反覆讀。但是只讀一本是不行的。
因為每本書的重點都不一樣。從不同的側面,去理解一個知識點,是很有意義的。
所以特別佩服印度人,他跟你講英文,你一個詞語沒聽懂,他會蹦出n個同一意思的單詞,你聽懂一個,就ok了。
看書也是這樣的,某一塊講得不透徹,不用擔心,其他書籍可以幫助你來了解。

第二個問題是,書籍推薦。
個人覺得不錯的,沒事可以翻的。書籍如下:

>《javascript物件導向程式設計指南》,風格輕鬆易懂,比較適合初學者,原型那塊兒講得透徹,12種繼承方式呢。

>《js權威指南》、《js高級程式設計》,這兩本書經典是經典,但太厚,適合把其中任意一章都當成一本書來讀。洋洋灑灑,很難一口氣看完。比較適合當參考書。

>《你不知道的javascript》狙擊js核心細節,閉包、原型、this講得都還清楚。目前《中冊》也出了,還在看。

>《js設計模式與開發實踐》js設計模式也是要學的,此書把js的設計模式講得非常清晰,一點不晦澀,看起來沒多少難度。

>《正規指引》,分析原始碼時,如果正規表示式不懂,沒法進行下去的。此書相對來說講得比較清晰。

>《基於MVC的JavaScript Web豐富應用程式開發》,看完後,基本上能寫出自己的mvc框架了。是本好書。

>《javascript函數式程式設計》,js是一門函數式語言,此書是函數式程式設計一個入門,函數是一等公民那是非常重要的。

>《js忍者秘籍》,jq作者寫的,沒有傳說中的那麼難讀,話說就算你看完並理解所有知識點,也不會達到世界高手等級的。因為你還沒有做到隨心所欲。

>《javascript框架設計》,如果初看此書,會覺得此書有羅列程式碼之嫌。在我看來,此書講究的是框架的全局觀。

以上書籍是我認為是成就高手之路上必須看的,也需要反覆看。

css相關的書籍,說實話我看得比較少,總共有六、七本吧。有兩本必須推薦:

>《css權威指南》,css基礎點那是講得非常清楚的。什麼層疊優先權、line-height啥的。不是隨便一本書都敢叫「權威指南」的。

>《css揭秘》此書我也是不斷的看,此書才不屑於全面講css3各屬性呢。 css規範文檔能講的,它只會講你最不在意的。此書解決的47問題,解決想法和解決方案同等重要,很有啟發性。以上各書你都可以不買,至少買本此書吧。

第三個問題,怎麼看。

想必很多同學,都想看書,但是很難看下去。
文字部分相對來說還能看看,一遇到程式碼,頭皮就發麻了。
此問題一開始時我也遇到的。

說一個學習理論。
比如說學英語,有個開水理論。
詞彙量必須達到6000才行,如果沒達到,英文水平不會上去的,
這跟燒開水一樣,沒事燒燒,放著涼涼,從來沒燒到100度,那麼此水是永遠不能喝的。
一旦煮沸過,就可以隨時喝了。

20本書你看不下去,代表什麼呢?

任何一本書,你都沒看完過。熟悉的,永遠只是前三章。別笑,我原先也是這樣的。
那麼現在的問題是,怎麼把一本書看完呢?
很簡單,敲。
《基於MVC的JavaScript Web富應用程式開發》這本書我看時,就是這樣,終於有一天,我下定決心要把此書從頭到尾敲一遍。
文字加程式碼都敲,然後就一章一章得看完了。程式碼敲一遍後,你會發現,沒之前看起來的那麼難。
如果你屬於一看書就犯困那種同學。強烈建議你把《javascript物件導向程式設計指南》此書從頭到尾敲一遍。
堅持看完一本書後,信心就上來了。先保證看完一本再說。看完3本後,基本上應該可以做到幾天就能看一本了。萬事起頭難,加油吧。

第四個問題,看書的層次問題。

書看完後,要自己總結,要跟其他書本比較看。有同學同時對比看《權威指南》和《高設》來的。
隨便拿出個知識點,你都能閉著眼睛說得頭頭是道,表示水平夠了。

下一塊就是原始碼的學習了。
看框架原始碼之前,想說一件事情:dom的api不懂,沒問題,你可以百度。但是正則一定要先研究研究。
不然大多數人去嘗試分析原始碼時,遇到的挫折都在於此。

怎麼去閱讀原始碼呢?

敲,照著敲。

有哪些程式碼值得去敲呢?
優秀框架或是函式庫的原始碼都值得你去敲。
但是拿jq來敲,來入門,那不行的。原因:太他麼長了。八九千行呢! !

個人覺得underscore.js庫是不錯的第一個選擇。原因都是工具方法,敲完以後自己的水平應該要略有小成吧。
其實有一些api的實現,你要把它當成getElementById一樣,深深的印在腦海裡。例如extend方法,必須張口就來。
敲完underscore函式庫後,可以考慮去看看《javascript函數式程式設計》這本書了。

jq的原始碼不好敲。那麼zepto的原始碼比較少1800多行,敲一天應該敲完了。
敲幾遍後,把所有不懂的地方,都百度清楚,然後就可以寫自己的類jq的庫了。
然後就可以當作一項技能寫進自己的履歷裡。例如「創建過自己的jquery庫」。
當然敲的過程,也能幫助自己對jq的api認識。

然後是backbone.js,因為此框架是以類別jq和underscore為基礎的mvc框架。程式碼也沒多少行。敲吧。
spine.js與backbone類似。可以在敲敲之前,先來看看那本《基於MVC的JavaScript Web富應用程式開發》。
希望你的履歷可以加這麼一筆,「創建過自己的mvc框架」。

其他的,我也敲過一些。包括jq.validate.js,包括一些插件。
如果你願意的話,bootstrap你可以去敲敲啊。原始碼挺多的,可以按插件逐一來敲。
分析明白了,輪播、分頁、下拉框等等的插件那還不是分分鐘隨手就寫一個了。
最起碼看看人家api介面是怎麼設計的也是極好的。話說個人在閱讀其css代碼中,也學到了不少東西。
說到插件,有兩個必須提提,一個是表格插件,一個是樹。都敲完,履歷可以這麼寫上,「創建過自己的UI框架」。

當然了,你也可以敲你喜歡的框架程式碼,重要的是明白其實現原理,最好理解其為啥那麼設計,如果對設計模式比較熟悉的話,會經常發現原來是這麼回事。 。 。
照著敲只是分析原始碼的入門,用途也是為了學習,最後能用在自己的專案中,那是才是正道。
就算沒啥用,也是打發時間的好方式,比看電視劇強多了。我閒著無聊時,背著敲underscore源碼。

最後說句,如果你履歷上能如期寫上那幾句話後,必須是大神。加油吧。

後記:寫本文的最初目的,正如文章開頭所說的那樣,方便自己回覆大家的提問。
本站的任何一篇分享學習經驗的文章,基本上都會引起共鳴,這確實是一個值得討論的話題。
這裡再說說幾個事情。

以上是學習JavaScript的經驗之路的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn