本書(shū)由資深軟件開(kāi)發(fā)專(zhuān)家撰寫(xiě),凝聚其多年開(kāi)發(fā)經(jīng)驗,系統、深入、全面地闡釋JavaScript,內容涉及流行的Web開(kāi)發(fā)實(shí)踐,結合實(shí)際案例進(jìn)行講解,授人以漁。本書(shū)內容并不局限于某個(gè)具體功能的使用方法,而是系統深入地講解JavaScript的本質(zhì)與結構,清晰闡釋ECMAScript、DOM和BOM三部分內容的關(guān)系及重要性,以幫助開(kāi)發(fā)人員全面深入了解前端開(kāi)發(fā)技術(shù)。本書(shū)講解的內容通俗易懂、深入淺出,特別是書(shū)中所用示例的設計,它們不僅可以讓讀者理解某個(gè)知識點(diǎn)的用法,更能讓讀者明白具體知識點(diǎn)所使用的場(chǎng)景,從而更深入地理解具體內容。 本書(shū)內容安排合理,架構清晰,注意理論與實(shí)踐相結合,適合那些希望學(xué)習Web編程語(yǔ)言的初、中級程序員和希望精通JavaScript的程序員閱讀。
目錄
第一篇JavaScript基礎知識
第1章JavaScript怎么學(xué)2
1.1三種學(xué)習方法2
1.2JavaScript的學(xué)習方法3
第2章JavaScript簡(jiǎn)介6
2.1ECMAScript概述7
2.2DOM概述8
2.3BOM概述8
2.4HTML5概述9
第3章JavaScript的本質(zhì)10
3.1工具介紹10
3.2JavaScript的結構15
3.3JavaScript的內存模型17
第4章function類(lèi)型對象20
4.1創(chuàng )建function20
4.2用作對象23
4.3處理業(yè)務(wù)23
4.4創(chuàng )建對象49
4.5三種子類(lèi)型57
第5章object類(lèi)型對象62
5.1創(chuàng )建object類(lèi)型對象的三種方式62
5.2對象的屬性66
5.3屬性的描述74
第6章直接量及其相關(guān)對象79
6.1直接量的保存方式79
6.2直接量的封包與解包80
6.3直接量的包裝對象81
第7章點(diǎn)運算符與this關(guān)鍵字90
7.1點(diǎn)運算符90
7.2this的含義90
7.3關(guān)聯(lián)方法后的this91
7.4內部函數中的this91
7.5對象的屬性不可以繼承93
第8章Global與Window對象94
8.1Global對象94
8.2Window對象的特殊性94
第二篇ECMAScript2015中的新特性
第9章類(lèi)98
9.1新類(lèi)型class98
9.2class的用法98
第10章模塊100
10.1模塊的基本用法100
10.2導入后重命名101
10.3默認導出102
10.4導入為命名空間103
10.5打包導出103
第11章新增語(yǔ)法105
11.1let和const105
11.2字符串模板106
11.3函數參數默認值106
11.4參數擴展107
11.5箭頭函數107
11.6for-of遍歷108
第12章新增對象111
12.1Symbol111
12.2容器對象112
12.3緩存對象121
12.4異步處理128
12.5GeneratorFunction和Generator132
12.6反射與代理134
第13章原有對象的新增屬性140
13.1Object140
13.2String143
13.3Number150
13.4Array150
13.5Math154
13.6RegExp155
第三篇DOM
第14章DOM概述162
14.1DOM標準的結構162
14.2DOM標準的特點(diǎn)163
第15章DOM核心164
15.1文檔對象164
15.2異常對象177
15.3輔助對象178
第16章DOM中的HTML標準182
16.1HTMLCollection182
16.2HTMLOptionsCollection184
16.3HTMLDocument184
16.4HTMLElement186
第17章DOM事件187
17.1事件流187
17.2EventTarget189
17.3EventListener190
17.4Event190
17.5DOM0級事件199
第18章DOM樣式和視圖201
18.1Views201
18.2StyleSheets202
18.3CSS204
第19章DOM遍歷和范圍215
19.1遍歷215
19.2范圍219
第四篇BOM
第20章window對象228
20.1窗口、框架相關(guān)屬性228
20.2窗口操作相關(guān)屬性230
20.3彈出窗口相關(guān)屬性231
20.4瀏覽器對象相關(guān)屬性231
20.5定時(shí)器相關(guān)屬性231
20.6其他屬性234
第21章location對象235
21.18個(gè)讀寫(xiě)屬性235
21.2三個(gè)方法屬性237
第22章其他對象238
22.1history對象238
22.2navigator對象238
第五篇HTML5
第23章本地存儲242
23.1本地存儲的分類(lèi)242
23.2Storage存儲243
23.3StorageEvent245
23.4IndexedDB數據庫248
第24章canvas作圖271
24.1繪制矩形272
24.2繪制路徑274
24.3組合與剪切282
24.4坐標檢測285
24.5修改顏色和樣式286
24.6插入文本290
24.7插入圖片292
24.8環(huán)境的保存和恢復292
24.9移動(dòng)坐標原點(diǎn)293
24.10旋轉坐標系294
24.11縮放295
24.12自由轉換297
24.13陰影298
24.14動(dòng)畫(huà)299
24.15游戲300
第25章WebSocket306
25.1網(wǎng)絡(luò )傳輸的原理和底層協(xié)議306
25.2WebSocket簡(jiǎn)介307
25.3WebSocket的優(yōu)勢308
25.4基本應用308
25.5RESTful應用312
25.6在線(xiàn)聊天系統313
25.7傳輸對象和二進(jìn)制數據318
第26章多線(xiàn)程處理335
26.1單線(xiàn)程與多線(xiàn)程的概念335
26.2線(xiàn)程與進(jìn)程的概念337
26.3JavaScript中的多線(xiàn)程338
第27章獲取位置信息347
27.1geolocation對象347
27.2Position接口348
27.3PositionError接口349
27.4PositionOptions接口350
27.5顯示到地圖上353
第28章富文本編輯器與公式編輯器356
28.1富文本編輯器的原理356
28.2公式編輯器364
第29章總結380
29.1ECMAScript380
29.2DOM和BOM381
29.3HTML5382
附錄ExcelibIDB源代碼384