《JavaScript學習指南(第3版)》是2020年3月人民郵電出版社出版的圖書,作者是[美]Ethan Brown 布朗。
基本介紹
- 中文名:JavaScript學習指南(第3版)
- 作者:[美]Ethan Brown 布朗
- 出版社:人民郵電出版社
- 出版時間:2020年3月
- 頁數:307 頁
- 定價:59 元
- 開本:16 開
- 裝幀:平裝
- ISBN:9787115456328
內容簡介,圖書目錄,
內容簡介
JavaScript是目前Web開發領域非常流行的一種程式語言,得到眾多IT從業人員和編程愛好者的關注。
本書分為22章,在ES6的基礎上,系統地介紹了JavaScript的基本語法、語言特性、相關工具、基本對象、技術以及推動現代JavaScript開發的範例等方面的知識。本書內容由淺及深,既有變數、控制流、函式等基礎內容,又有異步編程、正則表達式等高 級知識。
本書適合具備一定JavaScript基礎知識的讀者閱讀,也適合從事程式設計工作並想要深入探索JavaScript語言的讀者閱讀。
圖書目錄
第 1章 第 一個套用 1
1.1 從哪裡開始 2
1.2 實用的工具 2
1.2.1 語法高亮 3
1.2.2 括弧匹配 3
1.2.3 代碼摺疊 4
1.2.4 自動補全 4
1.3 關注注釋 4
1.4 從這裡開始 5
1.5 JavaScript控制台 7
1.6 jQuery 8
1.7 繪製圖元 8
1.8 自動執行重複任務 10
1.9 處理用戶輸入 11
1.10 Hello, World 13
第 2章 JavaScript開發中的常用工具 14
2.1 在當下編寫ES6代碼 14
2.2 ES6的新特性 15
2.2.1 安裝Git 16
2.2.2 終端 16
2.2.3 項目根 17
2.2.4 版本控制:Git 17
2.2.5 包管理工具:npm 20
2.2.6 構建工具:Gulp和Grunt 22
2.2.7 項目結構 23
2.3 轉換器 24
2.3.1 使用Gulp運行Babel 24
2.3.2 格式審查工具 26
2.4 總結 29
第3章 字面量、變數、常量和數據類型 32
3.1 變數和常量 32
3.2 變數和常量:用哪個 33
3.3 標識符命名 34
3.4 字面量 35
3.5 基本類型和對象 36
3.6 數字 37
3.7 字元串 39
3.8 特殊字元 40
3.8.1 模板字元串 41
3.8.2 多行字元串 42
3.8.3 數字用作字元串 43
3.9 布爾型 43
3.10 符號 43
3.11 null和undefined 44
3.12 對象 44
3.13 Number, String和Boolean對象 47
3.14 數組 47
3.15 對象和數組的拖尾逗號 49
3.16 日期 50
3.17 正則表達式 50
3.18 映射和集合 51
3.19 數據類型轉換 51
3.19.1 轉換成數字 51
3.19.2 轉換成字元串 52
3.19.3 轉換成布爾型 52
3.20 總結 53
第4章 控制流 54
4.1 控制流的底層 54
4.1.1 while循環 57
4.1.2 塊語句 58
4.1.3 空格 59
4.1.4 輔助方法 60
4.1.5 if else語句 60
4.1.6 do...while循環 62
4.1.7 for循環 63
4.1.8 if語句 64
4.1.9 **後的整合 65
4.2 JavaScript中的控制語句 66
4.2.1 控制流異常 67
4.2.2 鏈式if… else語句 67
4.2.3 元語法 68
4.2.4 其他循環模式 69
4.2.5 switch語句 70
4.2.6 for…in循環 74
4.2.7 for…of循環 74
4.3 實用的控制流模式 74
4.3.1 使用continue減少條件嵌套 75
4.3.2 使用break或return避免不必要的計算 75
4.3.3 在循環結束後使用索引的值 76
4.3.4 列表變動時索引遞減 76
4.4 總結 77
第5章 表達式和運算符 78
5.1 運算符 79
5.2 算術運算符 80
5.3 運算符優先權 82
5.4 比較運算符 83
5.5 比較數字 85
5.6 字元串連線 86
5.7 邏輯運算符 87
5.8 與、或和非 88
5.8.1 短路求值 89
5.8.2 非布爾值的邏輯運算符 89
5.8.3 條件運算符 90
5.8.4 逗號運算符 91
5.9 分組運算符 91
5.9.1 位運算符 91
5.9.2 類型判斷運算符 93
5.9.3 void運算符 94
5.9.4 賦值運算符 94
5.10 解構賦值 95
5.11 對象和數組運算符 97
5.12 模板字元串中的表達式 97
5.13 表達式和控制流模式 97
5.13.1 將if…else語句轉化成條件表達式 98
5.13.2 將if語句轉化成短路求值的邏輯或(||)表達式 98
5.14 總結 98
第6章 函式 99
6.1 返回值 100
6.2 引用調用 100
6.3 函式參數 101
6.3.1 參數會讓函式有所區別嗎 103
6.3.2 解構參數 104
6.3.3 默認參數 105
6.4 函式作為對象屬性 105
6.5 this關鍵字 105
6.6 函式表達式和匿名函式 107
6.7 箭頭符號 109
6.8 調用、請求和綁定 110
6.9 總結 112
第7章 作用域 113
7.1 作用域和存在 114
7.2 靜態作用域與動態作用域 114
7.3 全局作用域 115
7.4 塊作用域 117
7.5 變數禁止 117
7.6 函式、閉包和靜態作用域 119
7.7 即時調用函式表達式 120
7.8 函式作用域和提升 121
7.9 函式提升 123
7.10 臨時死區 124
7.11 嚴格模式 124
7.12 總結 125
第8章 數組及其處理 126
8.1 數組概覽 126
8.2 運算元組內容 127
8.2.1 在起始和末尾添加或刪除元素 128
8.2.2 在末尾添加多個元素 128
8.2.3 獲取子數組 128
8.2.4 從任意位置添加或刪除元素 129
8.2.5 數組內的分割和替換 129
8.2.6 用指定值填充數組 129
8.2.7 數組反轉和排序 130
8.3 數組搜尋 130
8.4 數組的基本操作:map和filter 133
8.5 數組魔法:reduce 135
8.6 數組方法,已刪除或者未定義的元素 138
8.7 字元串連線 138
8.8 總結 139
第9章 對象以及面向對象編程 141
9.1 屬性枚舉 141
9.1.1 for...in 142
9.1.2 Object.keys 142
9.2 面向對象編程 143
9.2.1 創建類和實例 143
9.2.2 動態屬性 145
9.2.3 類即函式 146
9.2.4 原型 147
9.2.5 靜態方法 148
9.2.6 繼承 149
9.2.7 多態 151
9.2.8 枚舉對象屬性,回顧 151
9.2.9 字元串表示 152
9.3 多繼承、混合類和接口 153
9.4 總結 155
第 10章 Maps和Sets 156
10.1 Maps 156
10.2 Weak Maps 158
10.3 Sets 159
10.4 Weak Sets 160
10.5 打破對象習慣 161
第 11章 異常和錯誤處理 162
11.1 Error對象 162
11.2 使用try和catch處理異常 163
11.3 拋出異常 164
11.4 異常處理和調用棧 165
11.5 try...catch... finally 166
11.6 讓異常成為例外 167
第 12章 疊代器和生成器 168
12.1 疊代協定 170
12.2 生成器 172
12.2.1 yield表達式和雙向交流 173
12.2.2 生成器和返回值 175
12.3 總結 175
第 13章 函式和抽象思考的力量 176
13.1 函式作為子程式 176
13.2 函式作為有返回值的子程式 177
13.3 函式即…函式 178
13.4 那又如何? 180
13.5 IIEFs和異步代碼 182
13.6 函式變數 184
13.6.1 數組中的函式 186
13.6.2 將函式傳給函式 187
13.6.3 在函式中返回函式 188
13.7 遞歸 189
13.8 總結 190
第 14章 異步編程 191
14.1 類比 192
14.2 回調 192
14.2.1 setInterval和clearInterval 193
14.2.2 Scope和異步執行 194
14.2.3 錯誤優先回調 195
14.2.4 回調地獄 196
14.3 Promise 197
14.3.1 創建Promise 198
14.3.2 使用Promise 198
14.3.3 事件 200
14.3.4 Promise鏈 202
14.3.5 避免不被處理的Promise 203
14.4 生成器 205
14.4.1 向前一步和退後兩步 207
14.4.2 不要自己編寫生成器運行器 208
14.4.3 生成器運行器中的異常處理 208
14.5 總結 209
第 15章 日期和時間 211
15.1 日期、時區、時間戳以及Unix時間 211
15.2 構造Date對象 212
15.3 Moment.js 213
15.4 JavaScript中Date的實際用法 214
15.5 構造日期對象 214
15.5.1 在服務端構造日期對象 214
15.5.2 在瀏覽器中構造Date對象 215
15.6 傳遞日期 215
15.7 展日期 216
15.8 日期的組成 217
15.9 日期的比較 218
15.10 日期的四則運算 218
15.11 用戶友好的相對日期 219
15.12 總結 220
第 16章 數學運算 221
16.1 格式化數字 221
16.1.1 固定小數 222
16.1.2 指數符號 222
16.1.3 固定精度 222
16.1.4 不同進制 223
16.1.5 進一步格式化數字 223
16.2 常量 224
16.3 代數函式 224
16.3.1 冪運算 224
16.3.2 對數函式 225
16.3.3 其他函式 225
16.3.4 偽隨機數生成器 226
16.4 三角函式 227
16.5 雙曲線函式 227
第 17章 正則表達式 229
17.1 子字元串匹配和替換 229
17.2 構造正則表達式 230
17.3 使用正則表達式進行搜尋 231
17.4 使用正則表達式進行替換 231
17.5 消費輸入 232
17.6 分枝 234
17.7 匹配HTML 235
17.8 字元集 235
17.9 具名字元集 236
17.10 重複 237
17.11 句點元字元和轉義 238
17.12 分組 238
17.13 懶惰匹配,貪婪匹配 240
17.14 反向引用 241
17.15 替換組 242
17.16 函式替換 243
17.17 錨點 245
17.18 單詞邊界匹配 245
17.19 向前查找 247
17.20 動態構造正則表達式 248
17.21 總結 248
第 18章 瀏覽器中的JavaScript 249
18.1 ES5還是ES6 249
18.2 文檔對象模型 250
18.3 關於樹的專用語 252
18.4 DOM中的“Get”方法 253
18.5 查詢DOM元素 253
18.6 多個DOM元素 254
18.7 創建DOM元素 255
18.8 樣式元素 256
18.9 數據屬性 257
18.10 事件 258
18.11 事件捕獲與事件冒泡 259
18.12 Ajax 263
18.13 總結 267
第 19章 jQuery 268
19.1 萬 能的美元(符號) 268
19.2 引入jQuery 269
19.3 等待DOM載入 269
19.4 jQuery封裝的DOM元素 270
19.5 操作元素 270
19.6 展開jQuery對象 272
19.7 Ajax 273
19.8 總結 273
第 20章 Node 274
20.1 Node基礎 274
20.2 模組(Module) 275
20.3 核心module、檔案module和npm module 277
20.4 自定義函式Module 279
20.5 訪問檔案系統 281
20.6 進程 284
20.7 作業系統 286
20.8 子進程 287
20.9 流 288
20.10 Web伺服器 289
20.11 總結 291
第 21章 對象屬性配置和代理 292
21.1 存取器屬性:getter和setter 292
21.2 對象屬性的屬性 294
21.3 對象保護:凍結、封裝、以及阻止擴展 296
21.4 代理 299
21.5 總結 301
第 22章 附加資源 302
22.1 線上文檔 302
22.2 期刊 303
22.3 部落格和教程 303
22.4 Stack Overflow 304
22.5 給開源項目做貢獻 306
22.6 總結 307