一、 要系統的學(xué)習JavaScript,需要首先掌握HTML和CSS,這是基礎也是學(xué)習JavaScript的時(shí)候需要用到的知識。
二、 剛開(kāi)始入門(mén)不建議看《JavaScript權威指南》和《JavaScript高級程序設計》這些書(shū)籍。并非這些書(shū)籍不好,相反這些書(shū)籍是公認的好書(shū)!主要是因為這些書(shū)籍內容太多太厚了,很容易讓你走上‘從入門(mén)到放棄’道路!對于初學(xué)者而言,多而全意味著(zhù)主次難分,無(wú)法取舍;此時(shí)你想把JavaScript學(xué)好,只能全學(xué),然而很多內容對于初學(xué)者而言很難理解!

三、 系統地學(xué)習JavaScript應根據知識點(diǎn)的難易及內在聯(lián)系劃分階段:初級->進(jìn)階->高級
1. 基礎語(yǔ)法、數據類(lèi)型、算術(shù)運算符、關(guān)系運算符、邏輯運算符、類(lèi)型轉換等,這些內容更多的是需要我們去記憶然后理解;(字詞)
2. 循環(huán)語(yǔ)句、邏輯分支等語(yǔ)句需要理解并熟練使用;(句子)
3. 函數的各種形式:函數表達式、函數聲明、匿名函數、自執行函數等,理解函數及參數的作用,明白事件與函數的關(guān)系;(段落)
4. 理解JavaScript中作用域的概念,熟悉聲明提升、垃圾回收等機制;
5. 理解基本數據類(lèi)型與引用數據類(lèi)型的異同,及相關(guān)的內存原理;
6. 掌握數組、字符串、Date對象、Math對象等常用的API;
7. 理解DOM、BOM的概念作用及常用AIP;
8. 理解event事件對象的概念及作用,掌握事件對象的常用屬性及方法,理解事件模型、事件流、事件循環(huán)等機制;
9. 掌握正則表達式元字符、量詞等基礎知識,能讀懂并寫(xiě)出一些常見(jiàn)的匹配規則;
10. 熟練使用計時(shí)器,理解運動(dòng)原理,能寫(xiě)出常見(jiàn)的一些網(wǎng)頁(yè)效果;
11. 明白構造函數、原型的作用,理解面向對象的編程思想,提升抽象編程的能力;
12. 掌握本地存儲相關(guān)技術(shù)(cookie、localStorage),了解其應用場(chǎng)景;
13. 了解服務(wù)端相關(guān)概念(服務(wù)器、數據庫、http協(xié)議等),掌握前后端分離及數據交互方式(ajax、jsonp、跨域解決方案等);
14. 理解應用閉包、原型鏈與繼承,本質(zhì)上講,對象之間是基于原型的一種行為委托,掌握了這些內容才會(huì )真正理解‘JS中一切皆對象’這樣的說(shuō)法;
15. 熟悉常見(jiàn)的設計模式:工廠(chǎng)模式、單例模式、代理模式、策略模式、發(fā)布訂閱模式、組合模式等;
16. 嘗試去讀一些優(yōu)秀的框架類(lèi)庫源碼,理解借鑒一些優(yōu)秀的解決方案,可以讓我們快速的成長(cháng)。
四、 最好有內行人指導,什么內容常用,什么內容重點(diǎn)掌握等等。如果身邊沒(méi)有這樣的人,可以看看網(wǎng)上的視頻教學(xué)(比較系統完整的內容一般要付費,自學(xué)需要很大毅力),或者直接報班學(xué)習(課程完整、直擊重點(diǎn)、效率高、有學(xué)習氛圍)。

