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