定 價:¥227.80
作 者: | (美)辛普森(Kyle Simpson) |
出版社: | 人民郵電出版社 |
叢編項: | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787115005946 | 出版時間: | 2021-06-01 | 包裝: | |
開本: | 16開 | 頁數(shù): | 817 | 字?jǐn)?shù): |
《你不知道的JavaScript(上卷)》
目錄
前言 VIII
第 一部分 作用域和閉包
序 2
第 1章 作用域是什么 4
1.1 編譯原理 4
1.2 理解作用域 6
1.3 作用域嵌套 10
1.4 異?! ?2
1.5 小結(jié) 12
第 2章 詞法作用域 14
2.1 詞法階段 14
2.2 欺騙詞法 17
2.3 小結(jié) 21
第3章 函數(shù)作用域和塊作用域 22
3.1 函數(shù)中的作用域 22
3.2 隱藏內(nèi)部實現(xiàn) 23
3.3 函數(shù)作用域 26
3.4 塊作用域 30
3.5 小結(jié) 36
第4章 提升 37
4.1 先有雞還是先有蛋 37
4.2 編譯器再度來襲 38
4.3 函數(shù)優(yōu)先 40
4.4 小結(jié) 41
第5章 作用域閉包 43
5.1 啟示 43
5.2 實質(zhì)問題 44
5.3 現(xiàn)在我懂了 47
5.4 循環(huán)和閉包 48
5.5 模塊 51
5.6 小結(jié) 57
附錄A 動態(tài)作用域 58
附錄B 塊作用域的替代方案 60
附錄C this詞法 64
附錄D 致謝 67
第 二部分 this和對象原型
序 72
第 1章 關(guān)于this 74
1.1 為什么要用this 74
1.2 誤解 76
1.3 this到底是什么 80
1.4 小結(jié) 80
第 2章 this全面解析 82
2.1 調(diào)用位置 82
2.2 綁定規(guī)則 83
2.3 優(yōu)先級 91
2.4 綁定例外 95
2.5 this詞法 99
2.6 小結(jié) 101
第3章 對象 102
3.1 語法 102
3.2 類型 103
3.3 內(nèi)容 105
3.4 遍歷 121
3.5 小結(jié) 124
第4章 混合對象“類” 126
4.1 類理論 126
4.2 類的機制 128
4.3 類的繼承 130
4.4 混入 134
4.5 小結(jié) 140
第5章 原型 142
5.1 [[Prototype]] 142
5.2 “類” 146
5.3 (原型)繼承 153
5.4 對象關(guān)聯(lián) 159
5.5 小結(jié) 162
第6章 行為委托 164
6.1 面向委托的設(shè)計 165
6.2 類與對象 173
6.3 更簡潔的設(shè)計 178
6.4 更好的語法 182
6.5 內(nèi)省 185
6.6 小結(jié) 187
附錄A ES6中的Class 189
《你不知道的JavaScript 中卷》
目錄
前言 XI
第 一部分 類型和語法
序 2
第 1 章 類型 3
1.1 類型 4
1.2 內(nèi)置類型 4
1.3 值和類型 6
1.4 小結(jié) 10
第 2 章 值 11
2.1 數(shù)組 11
2.2 字符串 13
2.3 數(shù)字 15
2.4 特殊數(shù)值 21
2.5 值和引用 28
2.6 小結(jié) 31
第3 章 原生函數(shù) 33
3.1 內(nèi)部屬性[[Class]] 34
3.2 封裝對象包裝 35
3.3 拆封 36
3.4 原生函數(shù)作為構(gòu)造函數(shù) 37
3.5 小結(jié) 45
第4 章 強制類型轉(zhuǎn)換 46
4.1 值類型轉(zhuǎn)換 46
4.2 抽象值操作 47
4.3 顯式強制類型轉(zhuǎn)換 56
4.4 隱式強制類型轉(zhuǎn)換 67
4.5 寬松相等和嚴(yán)格相等 77
4.6 抽象關(guān)系比較 89
4.7 小結(jié) 91
第5 章 語法 92
5.1 語句和表達(dá)式 92
5.2 運算符優(yōu)先級 104
5.3 自動分號 111
5.4 錯誤 113
5.5 函數(shù)參數(shù) 115
5.6 try..finally 117
5.7 switch 120
5.8 小結(jié) 122
附錄A 混合環(huán)境JavaScript 123
第 二部分 異步和性能
序 136
第 1 章 異步:現(xiàn)在與將來 138
1.1 分塊的程序 139
1.2 事件循環(huán) 141
1.3 并行線程 143
1.4 并發(fā) 148
1.5 任務(wù) 156
1.6 語句順序 157
1.7 小結(jié) 159
第 2 章 回調(diào) 161
2.1 continuation 162
2.2 順序的大腦 163
2.3 信任問題 169
2.4 省點回調(diào) 173
2.5 小結(jié) 176
第3 章 Promise 178
3.1 什么是Promise 179
3.2 具有then 方法的鴨子類型 188
3.3 Promise 信任問題 190
3.4 鏈?zhǔn)搅鳌?98
3.5 錯誤處理 206
3.6 Promise 模式 212
3.7 Promise API 概述 219
3.8 Promise 局限性 222
3.9 小結(jié) 233
第4 章 生成器 234
4.1 打破完整運行 234
4.2 生成器產(chǎn)生值 243
4.3 異步迭代生成器 250
4.4 生成器+Promise 254
4.5 生成器委托 262
4.6 生成器并發(fā) 269
4.7 形實轉(zhuǎn)換程序 273
4.8 ES6 之前的生成器 279
4.9 小結(jié) 285
第5 章 程序性能 287
5.1 Web Worker 288
5.2 SIMD 293
5.3 asm.js 295
5.4 小結(jié) 298
第6 章 性能測試與調(diào)優(yōu) 299
6.1 性能測試 99
6.2 環(huán)境為王 303
6.3 jsPerf.com 305
6.4 寫好測試 309
6.5 微性能 309
6.6 尾調(diào)用優(yōu)化 316
6.7 小結(jié) 318
附錄A asynquence 庫 319
附錄B 高 級異步模式 339
《你不知道的JavaScript 下卷》
前言 xi
致謝 xvii
第 一部分 起步上路
序 2
第 1 章 深入編程 4
1.1 代碼 4
1.2 表達(dá)式 5
1.3 實踐 6
1.4 運算符 9
1.5 值與類型 11
1.6 代碼注釋 13
1.7 變量 14
1.8 塊 16
1.9 條件判斷 17
1.10 循環(huán) 18
1.11 函數(shù) 20
1.12 實踐 23
1.13 小結(jié) 25
第 2 章 深入JavaScript 26
2.1 值與類型 26
2.2 變量 35
2.3 條件判斷 37
2.4 嚴(yán)格模式 39
2.5 作為值的函數(shù) 40
2.6 this標(biāo)識符 44
2.7 原型 46
2.8 舊與新 47
2.9 非JavaScript 49
2.10 小結(jié) 50
第 3 章 深入“你不知道的JavaScript”系列 51
3.1 作用域和閉包 51
3.2 this和對象原型 52
3.3 類型和語法 53
3.4 異步和性能 53
3.5 ES6及更新版本 54
3.6 小結(jié) 55
第 二部分 ES6及更新版本
序 58
第 1 章 ES?現(xiàn)在與未來 59
1.1 版本 60
1.2 transpiling 61
1.3 小結(jié) 63
第 2 章 語法 64
2.1 塊作用域聲明 64
2.2 spread/rest 71
2.3 默認(rèn)參數(shù)值 73
2.4 解構(gòu) 77
2.5 太多,太少,剛剛好 83
2.6 對象字面量擴展 90
2.7 模板字面量 98
2.8 箭頭函數(shù) 103
2.9 for..of循環(huán) 109
2.10 正則表達(dá)式 111
2.11 數(shù)字字面量擴展 117
2.12 Unicode 118
2.13 符號 123
2.14 小結(jié) 128
第 3 章 代碼組織 129
3.1 迭代器 129
3.2 生成器 138
3.3 模塊 153
3.4 類 167
3.5 小結(jié) 176
第 4 章 異步流控制 177
4.1 Promise 177
4.2 生成器 + Promise 183
4.3 小結(jié) 185
第 5 章 集合 187
5.1 TypedArray 187
5.2 Map 192
5.3 WeakMap 195
5.4 Set 196
5.5 WeakSet 198
5.6 小結(jié) 199
第 6 章 新增API 200
6.1 Array 200
6.2 Object 209
6.3 Math 212
6.4 Number 214
6.4.1 靜態(tài)屬性 214
6.5 字符串 216
6.6 小結(jié) 218
第 7 章 元編程 219
7.1 函數(shù)名稱 219
7.2 元屬性 222
7.3 公開符號 223
7.4 代理 228
7.5 Reflect API 240
7.6 特性測試 243
7.7 尾遞歸調(diào)用(Tail Call Optimization,TCO) 245
7.8 小結(jié) 251
第 8 章 ES6之后 253
8.1 異步函數(shù) 254
8.2 Object.observe(..) 257
8.3 冪運算符 260
8.4 對象屬性與... 260
8.5 Array#includes 261
8.6 SIMD 262
8.7 WebAssembly (WASM) 262
8.8 小結(jié) 264