JavaScript技術手冊

JavaScript技術手冊

作者: 林信良
出版社: 清華大學
出版在: 2020-08-01
ISBN-13: 9787302554400
ISBN-10: 7302554404





內容描述


JavaScript是一種網絡腳本語言,被廣泛用於Web應用開發,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。JavaScript腳本通常是通過嵌入在HTML中來實現自身功能的。
《JavaScript技術手冊》內容涵蓋ES6到ES11,不僅介紹了JavaScript的基礎語法、對象、構造函數、原型與類等基本內容,還深入介紹了異步設計、錯誤處理、meta programming等高級內容。此外,還運用標準模塊語法將DOM操作、事件處理、樣式設定、XMLHttpRequest操作等細節,逐一封裝成為可用的模塊。
《JavaScript技術手冊》對於初學者來說,只要瞭解Windows基本操作,無須有任何程序語言基礎,便可以扎扎實實地學習JavaScript。對於有一定JavaScript開發經驗、正在或準備從事JavaScript 開發的人來說,通過《JavaScript技術手冊》的高級內容,能夠掌握JavaScript的技術精髓,進而應用於實踐工作中。


目錄大綱


目 錄

 
第1章 JavaScript技術概述  1
1.1 認識JavaScript  1
1.1.1 JavaScript的發展  1
1.1.2 認識TC39提案  4
1.1.3 使用哪個版本  5
1.2 準備JavaScript環境  7
1.2.1 JavaScript引擎  7
1.2.2 下載、安裝Node.js  8
1.3 重點復習  10
第2章 類型、變量與運算符  11
2.1 從Hello World 開始  11
2.1.1 使用REPL  11
2.1.2 撰寫JavaScript原始碼  14
2.1.3 哈啰!世界!  15
2.2 內建類型  18
2.2.1 基本類型  18
2.2.2 復合類型  23
2.2.3 數組與類數組  25
2.3 變量與運算符  29
2.3.1 變量  29
2.3.2 嚴格模式  33
2.3.3 加減乘除運算  35
2.3.4 比較運算  38
2.3.5 邏輯運算  40
2.3.6 位運算  41
2.3.7 條件、指定、遞增/遞減  43
2.4 重點復習  45
第3章 流程語法與函數  46
3.1 使用除錯器  46
3.1.1 使用Visual Studio Code  46
3.1.2 使用調試程序  48
3.2 流程語法  50
3.2.1 if分支判斷  50
3.2.2 變量與區塊  52
3.2.3 switch比對  53
3.2.4 for循環  55
3.2.5 while循環  58
3.2.6 break、continue  59
3.3 函數入門  61
3.3.1 聲明函數  61
3.3.2 參數與自變量  64
3.3.3 一級函數的運用  67
3.3.4 函數字面量與箭號函數  72
3.3.5 Closure  75
3.3.6 產生器函數  77
3.3.7 模板字符串與標記模板  81
3.4 重點復習  84
3.5 課後練習  84
第4章 使用對象  86
4.1 特性與方法  86
4.1.1 特性與undefined  86
4.1.2 函數與this  88
4.1.3 對象字面量增強  94
4.1.4 解構、餘集、打散  97
4.2 對象協議  101
4.2.1 valueOf()與toString()  101
4.2.2 符號  103
4.2.3 運用標準符號  104
4.3 重點復習  108
4.4 課後練習  108
第5章 構造函數、原型與類  110
5.1 構造函數  110
5.1.1 封裝對象建構流程  110
5.1.2 私有性模擬  114
5.1.3 特性描述器  116
5.1.4 擴充、彌封、凍結  120
5.2 原型對象  120
5.2.1 構造函數與prototype  121
5.2.2 proto與Object.create()  125
5.2.3 原型鏈  126
5.2.4 基於原型的繼承  128
5.2.5 重新定義方法  131
5.3 類語法  133
5.3.1 定義類  134
5.3.2 定義方法  135
5.3.3 實現繼承  138
5.3.4 super與extends  140
5.4 重點復習  143
5.5 課後練習  144
第6章 異步設計  145
6.1 初識異步  145
6.1.1 使用setTimeout()  145
6.1.2 同步  148
6.1.3 異步與回調  149
6.2 Promise  151
6.2.1 Promise實例  151
6.2.2 銜接Promise  153
6.2.3 Promise與產生器  155
6.3 async、await  156
6.3.1 async函數  156
6.3.2 await與Promise  158
6.3.3 for-await-of與異步
產生器函數  160
6.3.4 Symbol.asyncIterator  162
6.4 重點復習  165
6.5 課後練習  165
第7章 錯誤處理  166
7.1 錯誤處理語法  166
7.1.1 throw與try-catch  166
7.1.2 掌握錯誤類型  169
7.1.3 自定義錯誤類型  172
7.1.4 認識堆棧追蹤  174
7.1.5 產生器與錯誤處理  177
7.2 異步錯誤處理  179
7.2.1 回調模式錯誤處理  179
7.2.2 Promise與錯誤處理  181
7.2.3 async、await與錯誤處理  182
7.2.4 異步產生器與錯誤處理  183
7.3 重點復習  184
7.4 課後練習  184
第8章 常用標準API  186
8.1 數組  186
8.1.1 數組靜態方法  186
8.1.2 改變數組  189
8.1.3 函數式風格API  192
8.2 群集  196
8.2.1 Set與WeakSet  196
8.2.2 Map與WeakMap  198
8.2.3 ArrayBuffer  201
8.3 JSON  203
8.3.1 簡介JSON  203
8.3.2 JSON.stringify()與JSON.parse()  204
8.4 正則表達式  207
8.4.1 JavaSript與正則表達式  207
8.4.2 簡介正則表達式  207
8.4.3 String與正則表達式  213
8.4.4 使用RegExp  216
8.4.5 Unicode正則表達式  220
8.5 重點復習  224
8.6 課後練習  224
第9章 meta-programming  226
9.1 探索對象  226
9.1.1 對象特性  227
9.1.2 對象類型  230
9.1.3 對象相等性  234
9.2 Reflect與Proxy  235
9.2.1 Reflect API  235
9.2.2 Proxy API  240
9.3 重點復習  246
9.4 課後練習  246
第10章 進入瀏覽器  248
10.1 瀏覽器與JavaScript  248
10.1.1 初探script標簽  248
10.1.2 文件解析與script標簽  250
10.1.3 開發人員工具  253
10.1.4 引用.js原始碼  254
10.1.5 async與defer  257
10.1.6 初探安全  258
10.1.7 同源策略與CORS  261
10.2 從名稱空間到模塊  266
10.2.1 名稱空間管理  266
10.2.2 從CommonJS到AMD  271
10.3 ECMAScript模塊  273
10.3.1 script捲標與模塊  273
10.3.2 模塊語法入門  275
10.3.3 export與export default  278
10.4 重點復習  282
10.5 課後練習  282
第11章 DOM、事件與樣式  284
11.1 文件對象模型  284
11.1.1 瀏覽器對象模型  284
11.1.2 W3C文件對象模型  287
11.1.3 訪問HTML文件  289
11.1.4 捲標屬性與DOM特性  293
11.1.5 修改DOM樹  297
11.1.6 封裝DOM操作  300
11.2 事件處理  307
11.2.1 基本事件模型  308
11.2.2 標準事件模型  310
11.2.3 標準事件傳播  312
11.2.4 封裝事件處理  315
11.3 樣式處理  317
11.3.1 存取樣式信息  317
11.3.2 存取元素寬高  320
11.3.3 存取元素位置  322
11.3.4 顯示、可見度與透明度  327
11.3.5 操作class屬性  333
11.3.6 窗口維度相關信息  335
11.3.7 封裝樣式處理  338
11.4 重點復習  344
11.5 課後練習  344
第12章 網絡通信方案  345
12.1 XMLHttpRequest  345
12.1.1 初探XMLHttpRequest實例  345
12.1.2 使用GET請求  350
12.1.3 使用POST請求  354
12.1.4 上傳文件  357
12.1.5 responseXML、response  362
12.1.6 封裝XMLHttpRequest操作  366
12.2 Fetch、Server-Sent Events、WebSocket  371
12.2.1 Fetch API  372
12.2.2 Server-Sent Events  374
12.2.3 簡介WebSocket  377
12.3 重點復習  379
12.4 課後練習  379
第13章 瀏覽器保存方案  380
13.1 Cookie  380
13.1.1 認識Cookie  380
13.1.2 document.cookie  382
13.2 Web Storage  385
13.2.1 使用Storage  386
13.2.2 storage事件  388
13.3 Indexed Database  390
13.3.1 數據庫與對象庫  390
13.3.2 在交易中存取數據  393
13.3.3 封裝數據庫操作  395
13.4 重點復習  398
13.5 課後練習  398
附錄A HTTP簡介  399




相關書籍

Reactive Programming with RxJS 5: Untangle Your Asynchronous JavaScript Code

作者 Sergi Mansilla

2020-08-01

HTML5+CSS3網頁設計案例教程

作者 辛明遠 石雲

2020-08-01

Taming The Big Data Tidal Wave: Finding Opportunities in Huge Data Streams with Advanced Analytics (Hardcover)

作者 Bill Franks

2020-08-01