《ECMAScript從零開始學(視頻教學版)》是2018年10月清華大學出版社出版的圖書,作者是王金柱。
基本介紹
- 書名:ECMAScript從零開始學(視頻教學版)
- 作者:王金柱
- ISBN:9787302510819
- 定價:59元
- 出版社:清華大學出版社
- 出版時間:2018年10月
內容簡介,圖書目錄,
內容簡介
本書基於ECMAScript 6腳本語言規範,著重講解將基本知識點與實際代碼套用相結合,用大量易懂的、具有代表性的實例幫助讀者快速學習ECMAScript開發。
全書共分為16章,內容從ECMAScript的基礎知識到技術難點,循序漸進地呈現給讀者,讓讀者有一個學習程式語言從易到難、由簡至繁的體驗過程。書中包括ECMAScript的發展歷史、語法基礎、表達式、函式、ECMAScript對象、類、繼承、ES7與ES8版本新特性等方面的知識介紹。
本書是學習ECMAScript技術非常好的圖書,相信豐富的內容和大量的實例代碼能夠成為讀者必要的案頭參考工具,成為Web前端開發學習者的首選。
圖書目錄
第1章 ECMAScript基礎 1
1.1 認識ECMAScript 1
1.1.1 ECMAScript的基本概念 1
1.1.2 JavaScript與ECMAScript的發展歷史 2
1.1.3 ECMAScript版本更迭 2
1.1.4 JavaScript與ECMAScript異同 3
1.1.5 ECMAScript腳本語言的特點 4
1.1.6 JavaScript代碼解釋器 4
1.2 在網頁中使用ECMAScript腳本語言 6
1.2.1 <script>標籤 6
1.2.2 嵌入式ECMAScript腳本 6
1.2.3 引入外部ECMAScript腳本檔案 8
1.3 ECMAScript腳本運行機制 9
1.4 ECMAScript腳本代碼的開發與調試 14
1.4.1 第一步:使用WebStorm集成開發平台創建項目、頁面檔案 14
1.4.2 第二步:使用WebStorm集成開發平台創建腳本檔案 16
1.4.3 第三步:使用Firefox瀏覽器運行HTML頁面和調試腳本代碼 17
1.5 本章小結 19
第2章 ECMAScript語法 20
2.1 ECMAScript語法規範 20
2.1.1 ECMAScript語句 20
2.1.2 ECMAScript大小寫字母敏感 21
2.1.3 ECMAScript代碼空格 21
2.1.4 ECMAScript代碼強制換行 21
2.1.5 ECMAScript代碼注釋 21
2.1.6 ECMAScript代碼塊 22
2.2 ECMAScript變數 22
2.2.1 弱類型的ECMAScript變數 22
2.2.2 聲明ECMAScript變數 23
2.2.3 ECMAScript變數命名習慣 24
2.2.4 動態改變ECMAScript變數類型 24
2.2.5 未聲明的ECMAScript變數 25
2.2.6 嚴格模式 26
2.3 let關鍵字 27
2.3.1 變數作用域 27
2.3.2 變數提升 28
2.3.3 全局變數、局部變數和塊級作用域 29
2.3.4 let關鍵字的簡單示例 31
2.3.5 let關鍵字使用規則 32
2.3.6 let關鍵字套用 33
2.4 const關鍵字 35
2.5 ECMAScript關鍵字和保留字 38
2.6 本章小結 39
第3章 值與類型 40
3.1 ECMAScript原始值與引用值 40
3.1.1 ECMAScript原始值與引用值 40
3.1.2 ECMAScript原始類型概述 41
3.2 Undefined原始類型 41
3.3 Null原始類型 44
3.4 Boolean原始類型 46
3.5 Number原始類型 48
3.5.1 Number原始類型介紹 48
3.5.2 十進制Number原始類型 48
3.5.3 二進制Number原始類型 49
3.5.4 八進制Number原始類型 50
3.5.5 十六進制Number原始類型 51
3.5.6 浮點數Number原始類型 53
3.5.7 Number原始類型科學計數法 54
3.6 Number特殊值及方法 55
3.6.1 Number最大值與最小值 55
3.6.2 Number無窮大 56
3.6.3 非數值NaN 58
3.6.4 Number安全整數值 59
3.6.5 Number.EPSILON 61
3.7 String原始類型 62
3.7.1 String原始類型介紹 62
3.7.2 定義String原始類型 62
3.7.3 字元串連線 63
3.7.4 特殊字元串 64
3.7.5 獲取字元串長度 65
3.7.6 字元的Unicode編碼表示 66
3.8 本章小結 70
第4章 類型轉換 71
4.1 轉換為字元串 71
4.1.1 toString()函式方法的語法格式 71
4.1.2 使用默認toString()函式方法 71
4.1.3 Number類型數值轉換為字元串 73
4.1.4 使用帶參數的toString()函式方法 74
4.2 轉換為數值 75
4.2.1 parseInt()函式方法的語法格式 75
4.2.2 轉換為整數數值 76
4.2.3 轉換指定基數的整數數值 77
4.2.4 parseFloat()函式方法的語法格式 78
4.2.5 轉換為浮點數 79
4.3 強制類型轉換 81
4.3.1 強制類型轉換基礎 81
4.3.2 強制轉換為Number類型 81
4.3.3 強制轉換為Boolean類型 83
4.3.4 強制轉換為String類型 84
4.4 本章小結 86
第5章 解構 87
5.1 ECMAScript變數賦值機制 87
5.1.1 變數賦值機制介紹 87
5.1.2 變數賦值機制相關原理 88
5.1.3 關於變數的解構賦值 88
5.2 ECMAScript數組解構賦值 89
5.2.1 數組解構賦值的基本方式 89
5.2.2 數組解構賦值的嵌套方式 90
5.2.3 含有空位的數組解構賦值 91
5.2.4 使用省略號的數組解構賦值 92
5.2.5 未定義的數組解構賦值 94
5.2.6 無效的數組解構賦值 95
5.2.7 使用默認值的數組解構賦值 97
5.2.8 默認值為變數的數組解構賦值 98
5.2.9 默認值為表達式的數組解構賦值 100
5.3 ECMAScript對象解構賦值 101
5.3.1 對象解構賦值的基本方式 101
5.3.2 不按次序的對象解構賦值 102
5.3.3 對象解構賦值方式的擴展 103
5.4 ECMAScript字元串解構賦值 104
5.5 ECMAScript數值解構賦值 105
5.6 ECMAScript解構賦值的套用 106
5.6.1 交換變數的值 106
5.6.2 函式返回多個值 109
5.6.3 定義函式參數 110
5.7 本章小結 112
第6章 運算符與表達式 113
6.1 ECMAScript加性運算符及表達式 113
6.1.1 概述 113
6.1.2 加法運算符及表達式 113
6.1.3 減法運算符及表達式 116
6.2 ECMAScript乘性運算符及表達式 118
6.2.1 乘性運算符與表達式概述 118
6.2.2 乘法運算符及表達式 118
6.2.3 除法運算符及表達式 120
6.2.4 取模運算符及表達式 121
6.3 ECMAScript一元運算符及表達式 123
6.3.1 一元運算符與表達式概述 123
6.3.2 new和delete運算符及表達式 123
6.3.3 void運算符及表達式 125
6.3.4 前增量與前減量運算符及表達式 127
6.3.5 後增量與後減量運算符及表達式 128
6.3.6 一元加法與一元減法運算符及表達式 129
6.4 ECMAScript關係運算符及表達式 131
6.4.1 關係運算符與表達式概述 131
6.4.2 數值關係運算符表達式 132
6.4.3 字元串關係運算符表達式 132
6.4.4 數值與字元串關係運算符表達式 133
6.5 ECMAScript等性運算符及表達式 134
6.5.1 等性運算符與表達式概述 135
6.5.2 等號與不等號運算符表達式 135
6.5.3 嚴格相等與非嚴格相等運算符表達式 137
6.6 ECMAScript位運算符及表達式 138
6.6.1 位運算符與表達式概述 139
6.6.2 整數編碼介紹 139
6.6.3 NOT位運算符及表達式 141
6.6.4 AND位運算符及表達式 142
6.6.5 OR位運算符及表達式 143
6.6.6 XOR位運算符及表達式 144
6.6.7 左移運算符及表達式 145
6.6.8 保留符號位的右移運算符及表達式 146
6.6.9 無符號位的右移運算符及表達式 148
6.7 ECMAScript邏輯運算符及表達式 149
6.7.1 邏輯運算符與表達式概述 149
6.7.2 ToBoolean邏輯值轉換操作 150
6.7.3 AND運算符及表達式 151
6.7.4 OR運算符及表達式 152
6.7.5 NOT運算符及表達式 154
6.8 ECMAScript賦值運算符及表達式 156
6.9 ECMAScript條件運算符及表達式 157
6.10 本章小結 159
第7章 流程控制語句 160
7.1 if條件語句 160
7.1.1 if語句 160
7.1.2 if…else…語句 161
7.1.3 if…else if…else…語句 162
7.2 switch條件語句 164
7.3 循環疊代語句 166
7.3.1 for語句 166
7.3.2 for…in…語句 168
7.3.3 while語句 170
7.3.4 do…while語句 170
7.4 循環中斷語句 171
7.4.1 break語句 172
7.4.2 continue語句 172
7.4.3 break語句與標籤語句配合使用 173
7.4.4 continue語句與標籤語句配合使用 175
7.5 ECMAScript 6新特新——for of疊代循環 177
7.5.1 疊代數組 177
7.5.2 疊代字元串 177
7.5.3 for of 循環疊代原理 178
7.6 本章小結 178
第8章 函式 179
8.1 ECMAScript函式基礎 179
8.2 ECMAScript函式聲明、定義與調用 180
8.2.1 傳統方式定義ECMAScript函式 180
8.2.2 ECMAScript函式表達式方式 181
8.2.3 Function構造方式定義ECMAScript函式 184
8.3 ECMAScript函式返回值 185
8.4 arguments對象 187
8.5 Function對象 190
8.5.1 Function對象實現函式指針 190
8.5.2 Function對象屬性 192
8.5.3 Function對象方法 193
8.6 本章小結 194
第9章 系統函式 195
9.1 ECMAScript常規函式 195
9.1.1 常規函式介紹 195
9.1.2 警告對話框和確認對話框 195
9.1.3 parseInt()函式 197
9.1.4 isNaN()函式 198
9.1.5 eval()函式 199
9.2 ECMAScript字元串函式 200
9.3 ECMAScript數學函式 203
9.4 ECMAScript數組函式 204
9.4.1 數組函式介紹 204
9.4.2 join函式 205
9.4.3 reverse函式 205
9.4.4 sort函式 206
9.4.5 from函式 207
9.5 ECMAScript日期函式 209
9.6 本章小結 210
第10章 函式擴展 211
10.1 ECMAScript函式參數擴展 211
10.1.1 可變參數 211
10.1.2 rest參數 213
10.1.3 參數默認值 214
10.1.4 省略參數默認值的正確方式 216
10.2 length屬性擴展 218
10.2.1 參數默認值方式下的length屬性 218
10.2.2 rest參數方式下的length屬性 219
10.2.3 參數默認值不同位置下的length屬性 220
10.3 name屬性擴展 220
10.4 箭頭函式 221
10.4.1 箭頭函式的基本形式 221
10.4.2 箭頭函式的參數 222
10.4.3 箭頭函式的函式體 224
10.5 箭頭函式擴展套用 224
10.5.1 箭頭函式計算工具 225
10.5.2 箭頭函式與解構賦值 226
10.5.3 箭頭函式與回調函式 227
10.5.4 箭頭函式與鏈式函式 228
10.6 本章小結 229
第11章 ECMAScript對象 230
11.1 ECMAScript對象 230
11.1.1 什麼是ECMAScript對象 230
11.1.2 ECMAScript對象構成 230
11.1.3 ECMAScript對象實例 231
11.2 創建ECMAScript對象 231
11.3 ECMAScript對象初始化 231
11.4 ECMAScript對象銷毀 233
11.5 ECMAScript對象綁定方式 235
11.6 本章小結 235
第12章 對象類型 236
12.1 ECMAScript對象概述 236
12.2 Object對象 237
12.3 String對象 238
12.4 Array對象 239
12.4.1 Array對象初始化 239
12.4.2 Array對象連線操作 241
12.4.3 Array對象模擬堆疊 242
12.5 Number對象 244
12.6 Boolean對象 245
12.7 Date對象 246
12.7.1 Date對象基礎 247
12.7.2 Date對象套用(一) 248
12.7.3 Date對象套用(二) 249
12.8 本章小結 251
第13章 對象新特性 252
13.1 對象屬性的簡潔表示法 252
13.2 Symbol數據類型 254
13.2.1 定義Symbol對象 254
13.2.2 Symbol對象的唯一性 254
13.2.3 Symbol定義屬性名 255
13.3 Set數據類型 256
13.3.1 定義和遍歷Set數據類型 256
13.3.2 判斷Set集合中的值 257
13.3.3 刪除和清空Set集合 258
13.4 Map數據類型 259
13.4.1 定義Map數據類型和基本存取操作 259
13.4.2 判斷Map集合中的值 260
13.4.3 刪除和清空Map集合 261
13.5 本章小結 262
第14章 正則表達式 263
14.1 正則表達式基礎 263
14.1.1 什麼是正則表達式 263
14.1.2 RegExp對象語法 263
14.1.3 RegExp對象模式 264
14.2 RegExp對象方法 267
14.2.1 test方法 267
14.2.2 exec方法 268
14.2.3 compile方法 269
14.3 RegExp對象修飾符標記 270
14.3.1 “g”修飾符標記 271
14.3.2 “i”修飾符標記 272
14.3.3 “g”和“i”修飾符標記組合 273
14.4 本章小結 274
第15章 面向對象編程 275
15.1 面向對象基礎 275
15.1.1 什麼是“面向對象” 275
15.1.2 面向對象的特點 276
15.1.3 面向對象的專業術語 276
15.2 ECMAScript對象作用域 277
15.2.1 對象作用域 277
15.2.2 this關鍵字 277
15.3 創建ECMAScript類與對象 278
15.3.1 工廠模式創建類與對象 278
15.3.2 封裝的工廠模式創建類與對象 279
15.3.3 帶參數的工廠模式創建類與對象 281
15.3.4 工廠模式的最大局限 282
15.3.5 構造函式方式創建類與對象 283
15.3.6 原型方式創建類與對象 284
15.3.7 結合構造函式方式與原型方式創建類和對象 285
15.4 原型Prototype套用 286
15.4.1 定義新方法 286
15.4.2 重定義已有方法 287
15.4.3 實現繼承機制 288
15.5 ECMAScript 6 面向對象新特性 291
15.5.1 通過“class”定義類 291
15.5.2 通過“extends”繼承類 292
15.5.3 類的setter和getter方法 293
15.6 本章小結 294
第16章 ECMAScript 7 & 8版本新特性 295
16.1 ECMAScript 7 & 8版本的新特性 295
16.2 ECMAScript 7(2016)版本的新特性 295
16.2.1 Array.prototype.includes()方法 296
16.2.2 指數操作符 297
16.3 ECMAScript 8(2017)版本的新特性 298
16.3.1 字元串填充(String Padding) 298
16.3.2 對象遍歷 300
16.3.3 異步函式(Async Function) 301
16.4 本章小結 305