●第1章什麼是JavaScript 1
1.1簡短的歷史回顧 1
1.2JavaScript實現 2
1.3JavaScript版本 9
1.4小結 10
第2章HTML中的JavaScript 11
2.1scr素 11
2.2行內代碼與外部文件 18
2.3文檔模式 18
2.4noscr素 19
2.5小結 20
第3章語言基礎 21
3.1語法 21
3.2關鍵字與保留字 23
3.3變量 24
3.4數據類型 30
3.5操作符 56
3.6語句 73
3.7函數 80
3.8小結 82
第4章變量、作用域與內存 83
4.1原始值與引用值 83
4.2執行上下文與作用域 87
4.3垃圾回收 94
4.4小結 101
第5章基本引用類型 103
5.1Date 103
5.2RegExp 107
5.3原始值包裝類型 113
5.4單例內置對像 128
5.5小結 135
第6章集合引用類型 136
6.1Object 136
6.2Array 138
6.3定型數組 155
6.4Map 163
6.5WeakMap 168
6.6Set 173
6.7WeakSet 178
6.8迭代與擴展操作 180
6.9小結 182
第7章迭代器與生成器 183
7.1理解迭代 183
7.2迭代器模式 184
7.3生成器 192
7.4小結 204
第8章對像、類與面向對像編程 205
8.1理解對像 205
8.2創建對像 220
8.3繼承 238
8.4類 249
8.5小結 265
第9章代理與反射 266
9.1代理基礎 266
9.2代理捕獲器與反射方法 274
9.3代理模式 283
9.4小結 286
第10章函數 287
10.1箭頭函數 288
10.2函數名 289
10.3理解參數 290
10.4沒有重載 292
10.5默認參數值 293
10.6參數擴展與收集 295
10.7函數聲明與函數表達式 297
10.8函數作為值 297
10.9函數內部 299
10.10函數屬性與方法 302
10.11函數表達式 304
10.12遞歸 306
10.13尾調用優化 307
10.14閉包 309
10.15立即調用的函數表達式 314
10.16私有變量 316
10.17小結 321
第11章期約與異步函數 322
11.1異步編程 322
11.2期約 325
11.3異步函數 347
11.4小結 360
第12章BOM 361
12.1window對像 361
12.2location對像 372
12.3navigator對像 375
12.4screen對像 379
12.5history對像 379
12.6小結 381
第13章客戶端檢測 382
13.1能力檢測 382
13.2用戶代理檢測 386
13.3軟件與硬件檢測 394
13.4小結 400
第14章DOM 401
14.1節點層級 401
14.2DOM編程 426
14.3 tationObserver接口 432
14.4小結 444
第15章DOM擴展 445
15.1Selectors API 445
1素遍歷 447
15.3HTML5 448
15.4專有擴展 456
15.5小結 459
第16章DOM2和DOM3 460
16.1DOM的演進 460
16.2樣式 467
16.3遍歷 476
16.4範圍 481
16.5小結 489
第17章事件 490
17.1事件流 490
17.2事件處理程序 493
17.3事件對像 499
17.4事件類型 505
17.5內存與性能 540
17.6模擬事件 543
17.7小結 548
第18章動畫與Canvas圖形 549
18.1使用requestAnimationFrame 549
18.2基本的畫布功能 552
18.32D繪圖上下文 553
18.4WebGL 569
18.5小結 579
第19章表單腳本 581
19.1表單基礎 581
19.2文本框編程 587
19.3選擇框編程 597
19.4表單序列化 601
19.5富文本編輯 603
19.6小結 608
第20章JavaScript API 609
20.1Atomics與SharedArrayBuffer 609
20.2跨上下文消息 616
20.3Encoding API 617
20.4File API與Blob API 622
20.素 627
20.6原生拖放 631
20.7Notifications API 635
20.8Page Visibility API 636
20.9Streams API 637
20.10計時API 644
20.11Web組件 648
20.12Web Cryptography API 663
20.13小結 674
第21章錯誤處理與調試 675
21.1瀏覽器錯誤報告 675
21.2錯誤處理 676
21.3調試技術 688
21.4舊版IE的常見錯誤 691
21.5小結 693
第22章處理XML 694
22.1瀏覽器對XML DOM的支持 694
22.2瀏覽器對XPath的支持 696
22.3瀏覽器對XSLT的支持 700
22.4小結 702
第23章JSON 703
23.1語法 703
23.2解析與序列化 706
23.4小結 710
第24章網絡請求與遠程資源 711
24.1XMLHttpRequest對像 711
24.2進度事件 718
24.3跨源資源共享 719
24.4替代性跨源技術 721
24.5Fetch API 722
24.6Beacon API 747
24.7Web Socket 747
24.8安全 749
24.9小結 750
第25章客戶端存儲 751
25.1cookie 751
25.2Web Storage 759
25.3IndexedDB 762
25.4小結 771
第26章模塊 772
26.1理解模塊模式 772
26.2湊合的模塊繫統 776
26.3使用ES6之前的模塊加載器 779
26.4使用ES6模塊 783
26.5小結 790
第27章工作者線程 791
27.1工作者線程簡介 791
27.2專用工作者線程 793
27.3共享工作者線程 813
27.4服務工作者線程 817
27.5小結 841
第28章很好實踐 842
28.1可維護性 842
28.2性能 851
28.3部署 861
28.4小結 864
附錄AES2018和ES2019(圖靈社區下載)
附錄B嚴格模式(圖靈社區下載)
附錄CJavaScript庫和框架(圖靈社區下載)
附錄DJavaScript工具(圖靈社區下載)
本書是JavaScript經典圖書的新版。第4版涵蓋ECMAScript 2019,全面、深入地介紹了JavaScript開發者必須掌握的前端開發技術,涉及JavaScript的基礎特性和高級特性。書中詳盡討論了JavaScript的各個方面,從JavaScript的起源開始,逐步講解到新出現的技術,其中重點介紹ECMAScript和DOM標準。在此基礎上,接下來的各章揭示了JavaScript的基本概念,包括類、期約、迭代器、代理,等等。另外,書中深入探討了客戶端檢測、事件、動畫、表單、錯誤處理及JSON。本書同時也介紹了近幾年來湧現的重要新規範,包括Fetch API、模塊、工作者線程、服務線程以及大量新API。