JavaScript語法簡明手冊

JavaScript語法簡明手冊

《JavaScript語法簡明手冊》是2020年人民郵電出版社出版的圖書。

基本介紹

  • 中文名:JavaScript語法簡明手冊
  • 作者:格雷格·賽德尼科夫
  • 譯者:侯振龍
  • 出版時間:2020年
  • 出版社:人民郵電出版社
  • ISBN:9787115539922
  • 類別:程式設計
  • 開本:16 開
  • 裝幀:平裝-膠訂
內容簡介,作者簡介,圖書目錄,

內容簡介

本書包含大量精心繪製的示意圖和豐富的示例代碼,講解了常用的JavaScript語法特性,為JavaScript初學者繪製了一條平緩的學習曲線。本書涵蓋原生數據類型、強制類型轉換、作用域、閉包、運算符、面向對象編程、事件循環機制等內容。這些內容由淺入深,適合初學者按順序閱讀。本書還突出了ES10引入的一些新特性,便於有進階需要的讀者翻閱。

作者簡介

【作者簡介】 格雷格·賽德尼科夫(Greg Sidelnikov),以“JavaScript老師”自稱,從2004年開始編寫和出版各類程式設計教程,涉及JavaScript、CSS、jQuery、Node API等,其中一些被加州大學歐文分校等學校採用。 【譯者簡介】 侯振龍,管理科學與工程專業碩士,軟體開發工程師,具有10年軟體開發經驗,現就職於某外資企業。

圖書目錄

第 1章 講述形式 1
1.1 理論 1
1.2 實例 1
1.3 代碼清單 1
1.4 示意圖 2
1.4.1 抽象概念 2
1.4.2 代碼片段 3
1.5 主要內容 3
1.6 注意事項 4
第 2章 Chrome控制台 5
2.1 copy函式 5
2.2 console.dir 5
2.3 console.error 6
2.4 console.time和console.timeEnd 7
2.5 console.clear 7
2.6 列印對象 8
第3章 歡迎使用JavaScript 9
3.1 入口點 9
3.1.1 DOMContentLoaded 9
3.1.2 注意事項 10
3.1.3 導入外部腳本 11
3.1.4 導入與導出 12
3.2 嚴格模式 14
3.2.1 對一個作用域開啟嚴格模式 14
3.2.2 嚴格模式小結 15
3.3 字面量 15
3.4 變數 17
3.4.1 值占位符 17
3.4.2 動態類型 18
3.4.3 定義或聲明 18
3.5 引用傳遞 18
3.6 作用域的怪癖 19
3.6.1 怪癖1:函式內的let和const與全局變數 19
3.6.2 怪癖2:var依附於window/this對象,而let和const不會 20
第4章 語句 21
4.1 求值語句 21
4.2 表達式 22
第5章 基本類型 23
5.1 基本類型 23
5.1.1 boolean 24
5.1.2 null 24
5.1.3  24
5.1.4 number 25
5.1.5 bigint 26
5.1.6 string 27
5.2 模板字元串 28
5.3 symbol 30
5.4 構造函式和實例 33
5.5 對基本類型執行方法 35
5.5.1 使用括弧訪問對象屬性 35
5.5.2 連線方法 36
第6章 強制類型轉換 37
6.1 強制類型轉換示例 37
6.1.1 構造函式中的強制類型轉換 38
6.1.2 強制類型轉換詳解 39
6.2 多個值相加 42
6.3 運算符優先權 43
6.4 字元串與數值的比較 43
6.5 運算符優先權和結合性一覽表 45
6.6 左值和右值 47
6.6.1 賦值運算符 47
6.6.2 算術加法運算符 47
6.7 null與 47
第7章 作用域 50
7.1 變數定義 50
7.1.1 區分大小寫 50
7.1.2 定義 50
7.2 變數提升 51
7.3 函式提升 53
7.4 變數類型 56
7.5 作用域可見性的區別 56
7.5.1 在全局作用域中 56
7.5.2 在函式作用域中 57
7.5.3 閉包 58
7.5.4 在塊級作用域中 59
7.5.5 在類中 59
7.6 const 60
7.6.1 const和數組 61
7.6.2 const和對象字面量 61
7.6.3 const小結 62
7.7 注意事項 62
第8章 運算符 63
8.1 算術運算符 63
8.2 賦值運算符 65
8.3 字元串運算符 65
8.4 比較運算符 65
8.5 邏輯運算符 66
8.6 位運算符 67
8.7 typeof運算符 67
8.8 三元運算符 68
8.9 delete 68
8.10 in 69
第9章 .rest和.spread 71
9.1 rest屬性 71
9.2 spread屬性 72
9.3 .rest和.spread 73
9.3.1 語法詳解 73
9.3.2 編寫帶rest參數的sum( )函式 75
9.3.3 使用spread來扁平化數組 76
9.3.4 在數組、對象或函式參數之外使用spread 76
9.4 解構賦值 77
9.4.1 使用spread合併對象 79
9.4.2 使用spread合併數組 80
第 10章 閉包 81
10.1 閉包入門 81
10.1.1 什麼是閉包 81
10.1.2 漂亮的閉包 84
10.1.3 閉包小結 86
10.2 參數個數 87
10.3 柯里化 87
第 11章 循環 89
11.1 JavaScript中的循環類型 89
11.1.1 遞增和遞減 89
11.1.2 動態生成HTML元素 90
11.1.3 渲染列表 90
11.1.4 動態排序的表格 90
11.1.5 注意事項 90
11.2 for循環 91
11.2.1 基於零索引的計數器 91
11.2.2 無限for循環 91
11.2.3 多條語句 92
11.2.4 遞增數字 92
11.2.5 for循環和let作用域 92
11.2.6 嵌套for循環 93
11.2.7 循環的長度 93
11.2.8 跳步 94
11.2.9 提前中斷 94
11.2.10 自定義中斷條件 94
11.2.11 跳轉到標籤 95
11.2.12 跳出標記的塊級作用域 96
11.3 for.of循環 96
11.3.1 for.of和生成器 97
11.3.2 for.of和字元串 98
11.3.3 for.of和數組 98
11.3.4 for.of和對象 99
11.3.5 for.of循環和轉換的可疊代對象 99
11.4 for.in循環 100
11.5 while循環 100
第 12章 數組和字元串 102
12.1 Array.prototype.sort 102
12.2 Array.forEach 103
12.3 Array.every 104
12.4 Array.some 105
12.5 Array.filter 106
12.6 Array.map 106
12.7 Array.reduce 107
12.7.1 Array.reduce與Array.filter 107
12.7.2 更新資料庫中的對象屬性 107
12.7.3 reduce的實際套用 107
12.7.4 注意事項 108
12.8 Array.flat 109
12.9 Array.flatMap 109
12.10 String.prototype.matchAll 109
12.10.1 使用全局匹配符/g 110
12.10.2 正則表達式的捕獲組 110
12.10.3 使用matchAll的理由 112
12.10.4 matchAll的工作方式 112
12.10.5 使用matchAll的捕獲組示例 112
12.10.6 注意事項 113
12.11 比較兩個對象 113
12.11.1 編寫arrcmp 115
12.11.2 改進objcmp 116
12.11.3 針對更複雜的對象測試objcmp 117
12.11.4 objcmp小結 119
第 13章 函式 120
13.1 函式 120
13.1.1 函式結構 120
13.1.2 匿名函式 121
13.1.3 將函式賦給變數 122
13.2 this關鍵字的來源 125
第 14章 高階函式 126
14.1 理論 126
14.1.1 抽象 126
14.1.2 編寫第 一個高階函式 126
14.2 定義 127
14.3 抽象 127
14.4 疊代器 128
14.4.1 逐行解析map函式 129
14.4.2 調用自定義的map函式 130
14.4.3 調用Array.map 131
14.4.4 for循環怎么了 131
14.5 注意事項 131
第 15章 箭頭函式 132
15.1 箭頭函式 132
15.1.1 無return的返回 133
15.1.2 作為事件的箭頭函式 133
15.2 箭頭函式的結構 134
15.2.1 實參 135
15.2.2 從箭頭函式返回 135
15.3 ES風格函式的相似性 136
15.3.1 無this綁定 137
15.3.2 無arguments對象 137
15.3.3 無構造函式 137
15.3.4 傳統函式和箭頭函式用作事件回調函式 138
15.3.5 繼承的this語境 139
第 16章 動態創建HTML元素 140
16.1 設定CSS樣式 140
16.2 使用appendChild方法向DOM中添加元素 141
16.2.1 document.body 141
16.2.2 getElementById 142
16.2.3 querySelector 142
16.3 編寫函式來創建元素 142
16.3.1 函式參數 142
16.3.2 函式體 143
16.3.3 導入並使用absolute函式 145
16.4 使用構造函式來創建對象 146
第 17章 原型 147
17.1 原型 147
17.1.1 對象字面量的原型 148
17.1.2 原型連結 149
17.1.3 原型鏈 150
17.1.4 查找方法 150
17.1.5 數組方法 151
17.2 父對象 152
17.2.1 擴展自己的對象 152
17.2.2 constructor屬性 153
17.2.3 Function 154
17.3 原型實踐 155
17.3.1 對象字面量 155
17.3.2 使用Function構造函式 156
17.3.3 原型 157
17.3.4 使用Object.create來創建對象 158
17.3.5 示例繼續 159
17.3.6 構造函式 160
17.3.7 new運算符 161
17.3.8 class關鍵字 162
第 18章 面向對象編程 164
18.1 Ingredient 164
18.2 FoodFactory 164
18.3 Vessel 164
18.4 Burner 165
18.5 灶台類型與多態爐灶 166
18.6 類定義 166
18.6.1 print.js 167
18.6.2 Ingredient 167
18.6.3 FoodFactory 168
18.6.4 Fridge 168
18.6.5 convert_energy_to_heat 169
18.6.6 Vessel 170
18.6.7 Burner 172
18.6.8 Range 172
18.7 組裝 175
18.7.1 定義成分 176
18.7.2 實例化灶台對象 177
第 19章 事件 179
19.1 瀏覽器事件 179
19.2 合成事件 179
19.2.1 事件對象 179
19.2.2 事件捕獲與事件冒泡 180
19.2.3 dispatchEvent 181
19.2.4 removeEventListener 181
19.2.5 CustomEvent對象 182
19.2.6 setTimeout 183
19.2.7 setInterval 184
19.3 攔截瀏覽器事件 184
19.4 顯示滑鼠位置 185
19.5 通用的滑鼠事件類 186
19.5.1 包含和使用Mouse類 187
19.5.2 解析Mouse類 188
第 20章 網路請求 190
20.1 回調地獄 192
20.2 Promise 193
20.2.1 Promise.resolve 193
20.2.2 Promise.reject 195
20.2.3 組裝 195
20.2.4 Promise.all 196
20.2.5 Promise解析 197
20.2.6 Promise小結 197
20.3 axios 198
20.4 FetchAPI 198
20.5 獲取POST負載 199
20.6 async/await 200
20.6.1 async關鍵字的基礎 200
20.6.2 await 202
20.6.3 async/await中的try-catch 202
20.6.4 小結 203
20.7 生成器 204
20.7.1 yield 204
20.7.2 捕獲錯誤 205
第 21章 事件循環 206
第 22章 調用棧 209
22.1 什麼是調用棧 209
22.2 執行語境 211
22.2.1 什麼是執行語境 211
22.2.2 根執行語境 211
22.2.3 工作方式 211
22.3 代碼中的執行語境 211
22.3.1 window與全局作用域 212
22.3.2 調用棧 212
22.3.3 call、bind、apply 214
22.3.4 棧溢出 214

相關詞條

熱門詞條

聯絡我們