js給初學(xué)者的印象總是那么的“雜而亂”,相信很多初學(xué)者都在找輕松學(xué)習(xí)js的途徑。我試著總結(jié)自己學(xué)習(xí)多年js的經(jīng)驗,希望能給后來的學(xué)習(xí)者探索出一條“輕松學(xué)習(xí)js之路”。js給人那種感覺的原因多半是因為它如下的特點:
A:本身知識很抽象、晦澀難懂,如:閉包、內(nèi)置對象、DOM。
B:本身內(nèi)容很多,如函數(shù)庫、對象庫就一大堆。
C:混合多種編程思想。它里面不但牽涉面向過程編程思想,又有面向?qū)ο缶幊趟枷?,同時,它的面向?qū)ο筮€和別的編程語言(如:C++,JAVA,PHP)不大一樣。就好像又是新的一樣,讓你對曾經(jīng)學(xué)的面向?qū)ο螽a(chǎn)生了懷疑......
D:辛苦學(xué)習(xí)后又看似和實際應(yīng)用脫節(jié)。通常學(xué)了很久的js基礎(chǔ)之后,變量、函數(shù)、對象你也都略知一二,但一到公司開發(fā)項目的時候,卻又難以下手。因為公司在開發(fā)實際項目的時候通常都是直接用它的衍生庫,如:jquery,angular,boostrap,amaze,layui,ueditor等,而這些庫又多如牛毛,同時還有自己的難點。讓你都不知道該學(xué)哪個好,甚至都懷疑自己學(xué)的是不是js了,好像有多個版本的js一樣,總是學(xué)不完......
那么,怎么才能在js領(lǐng)域內(nèi)學(xué)的輕松甚至游刃有余呢?我總結(jié)了一些實戰(zhàn)意義的js學(xué)習(xí)經(jīng)驗:
首先要緊緊抓住它的地位
時刻都不能忘記,否則很容易犯“一葉障目不見泰山”的錯誤。不要學(xué)了很久就知道js是編程語言,就是寫代碼,而且特點就是亂七八糟就完了,那樣是學(xué)不好js的。要時時抓住它的地位,確切的說是它在整個Web中的地位:它屬于前端的核心,主要用來操控和重新調(diào)整DOM,通過修改DOM結(jié)構(gòu),從而來達(dá)到修改頁面效果的目的。要用這個中心思想去指導(dǎo)后續(xù)的一切js的學(xué)習(xí),并且形成條件反射。
要有一條清晰的學(xué)習(xí)路線
這個只能是過來人給你提供參考了。我的學(xué)習(xí)路線如下:
A:js基礎(chǔ)部分,如:定義變量、函數(shù)、數(shù)組、字符串等的處理,內(nèi)置函數(shù)、內(nèi)置對象等;
B:js面向過程編程思想,封裝出各個函數(shù),試著用這些去做一些常見的小功能,如:選項卡、自定義多選按鈕、自定義播放器、3D幻燈片;
C:js面向?qū)ο缶幊趟枷?,試著去封裝一些你自己的對象,提供出有意義的接口出來;
D:學(xué)了上述的內(nèi)容,然后學(xué)常用的庫,這里必須學(xué)jquery;
E:學(xué)基于jquery之上的常見插件,如:bootstrap,Layer,富文本編輯器等;
F:綜合應(yīng)用上面的多種庫寫實際項目的模板,多寫幾套。
感覺js學(xué)起來“雜而亂”的原因是因為你太“聰明”了,一開始就管的太寬,利害得失也計算的太精細(xì)。要求太完美則心里承受能力下降,很容易出現(xiàn)“障”。此時,你應(yīng)該“笨”一些,不要考慮那么長遠(yuǎn),“傻人有傻?!?,只要做好今天就夠了。一些不合理的學(xué)習(xí)方法和心態(tài)也讓你迷失了自我,如:心浮氣躁、眼高手低、好高騖遠(yuǎn),這些都會讓你在“亂七八糟”的js面前深陷迷霧、不能自拔。此時,你應(yīng)該重新定位自己的位置,重新去認(rèn)識js,放下包袱,方能輕松上陣。把杯子先倒空,才能灌新水......其實,js是前端的核心。影響越來越深的互聯(lián)網(wǎng)+會渴求越來越多的js人才,只有經(jīng)歷過真正刻骨銘心的學(xué)習(xí)經(jīng)歷,才能造就出贏得未來的真正精英。