注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)你不知道的JavaScript(套裝共3冊(cè))

你不知道的JavaScript(套裝共3冊(cè))

你不知道的JavaScript(套裝共3冊(cè))

定 價(jià):¥207.00

作 者: 阿斯頓·張(Aston Zhang) 著
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購買這本書可以去


ISBN: 9787115004727 出版時(shí)間: 2019-06-01 包裝: 平裝
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《你不知道的JavaScript 上卷》:很多人對(duì)JavaScript這門語言的印象都是簡(jiǎn)單易學(xué),很容易上手。雖然JavaScript語言本身有很多復(fù)雜的概念,但語言的使用者不必深入理解這些概念就可以編寫出功能全面的應(yīng)用。殊不知,這些復(fù)雜精妙的概念才是語言的精髓,即使是經(jīng)驗(yàn)豐富的JavaScript開發(fā)人員,如果沒有認(rèn)真學(xué)習(xí)的話也無法真正理解它們。在本書中,我們要直面當(dāng)前JavaScript開 發(fā)者“不求甚解”的大趨勢(shì),深入理解語言內(nèi)部的機(jī)制。 《你不知道的JavaScript 上卷》既適合JavaScript語言初學(xué)者閱讀,又適合經(jīng)驗(yàn)豐富的JavaScript開發(fā)人員深入學(xué)習(xí)。《你不知道的JavaScript 中卷》:JavaScript這門語言簡(jiǎn)單易用,很容易上手,但其語言機(jī)制復(fù)雜微妙,即使是經(jīng)驗(yàn)豐富的JavaScript開發(fā)人員,如果沒有認(rèn)真學(xué)習(xí)的話也無法真正理解。本套書直面當(dāng)前JavaScript開發(fā)人員不求甚解的大趨勢(shì),深入理解語言內(nèi)部的機(jī)制,全面介紹了JavaScript中常被人誤解和忽視的重要知識(shí)點(diǎn)。本書是其中卷,主要介紹了類型、語法、異步和性能?!赌悴恢赖腏avaScript 下卷》:JavaScript這門語言簡(jiǎn)單易用,很容易上手,但其語言機(jī)制復(fù)雜微妙,即使是經(jīng)驗(yàn)豐富的JavaScript開發(fā)人員,如果沒有認(rèn)真學(xué)習(xí)的話也無法真正理解。本套書直面當(dāng)前JavaScript開發(fā)人員不求甚解的大趨勢(shì),深入理解語言內(nèi)部的機(jī)制,全面介紹了JavaScript中常被人誤解和忽視的重要知識(shí)點(diǎn)。本書是其下卷,主要介紹了JavaScript入門知識(shí)和對(duì)ES6及未來發(fā)展趨勢(shì)的展望。 本書既適合JavaScript語言初學(xué)者了解其精髓,又適合經(jīng)驗(yàn)豐富的JavaScript開發(fā)人員深入學(xué)習(xí)。

作者簡(jiǎn)介

  Kyle Simpson 推崇開放的互聯(lián)網(wǎng),對(duì)JavaScript、HTML5、實(shí)時(shí)/端對(duì)端通信和Web性能有深入研究。他是技術(shù)書作家、技術(shù)培訓(xùn)師、講師和開源社區(qū)的活躍成員。

圖書目錄

你不知道的JavaScript(上卷) 目錄

前言 VIII
第 一部分 作用域和閉包
序 2
第 1章 作用域是什么 4
1.1 編譯原理 4
1.2 理解作用域 6
1.2.1 演員表 6
1.2.2 對(duì)話 6
1.2.3 編譯器有話說 7
1.2.4 引擎和作用域的對(duì)話 9
1.2.5 小測(cè)驗(yàn) 10
1.3 作用域嵌套 10
1.4 異?!?2
1.5 小結(jié) 12
第 2章 詞法作用域 14
2.1 詞法階段 14
2.2 欺騙詞法 17
2.2.1 eval 17
2.2.2 with 18
2.2.3 性能 20
2.3 小結(jié) 21
第3章 函數(shù)作用域和塊作用域 22
3.1 函數(shù)中的作用域 22
3.2 隱藏內(nèi)部實(shí)現(xiàn) 23
3.3 函數(shù)作用域 26
3.3.1 匿名和具名 27
3.3.2 立即執(zhí)行函數(shù)表達(dá)式 28
3.4 塊作用域 30
3.4.1 with 31
3.4.2 try/catch 31
3.4.3 let 32
3.4.4 const 35
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 實(shí)質(zhì)問題 44
5.3 現(xiàn)在我懂了 47
5.4 循環(huán)和閉包 48
5.5 模塊 51
5.5.1 現(xiàn)代的模塊機(jī)制 54
5.5.2 未來的模塊機(jī)制 56
5.6 小結(jié) 57
附錄A 動(dòng)態(tài)作用域 58
附錄B 塊作用域的替代方案 60
附錄C this詞法 64
附錄D 致謝 67
第 二部分 this和對(duì)象原型
序 72
第 1章 關(guān)于this 74
1.1 為什么要用this 74
1.2 誤解 76
1.2.1 指向自身 76
1.2.2 它的作用域 79
1.3 this到底是什么 80
1.4 小結(jié) 80
第 2章 this全面解析 82
2.1 調(diào)用位置 82
2.2 綁定規(guī)則 83
2.2.1 默認(rèn)綁定 83
2.2.2 隱式綁定 85
2.2.3 顯式綁定 87
2.2.4 new綁定 90
2.3 優(yōu)先級(jí) 91
2.4 綁定例外 95
2.4.1 被忽略的this 96
2.4.2 間接引用 97
2.4.3 軟綁定 98
2.5 this詞法 99
2.6 小結(jié) 101
第3章 對(duì)象 102
3.1 語法 102
3.2 類型 103
3.3 內(nèi)容 105
3.3.1 可計(jì)算屬性名 106
3.3.2 屬性與方法 107
3.3.3 數(shù)組 108
3.3.4 復(fù)制對(duì)象 109
3.3.5 屬性描述符 111
3.3.6 不變性 114
3.3.7 [[Get]] 115
3.3.8 [[Put]] 116
3.3.9 Getter和Setter 117
3.3.10 存在性 119
3.4 遍歷 121
3.5 小結(jié) 124
第4章 混合對(duì)象“類” 126
4.1 類理論 126
4.1.1 “類”設(shè)計(jì)模式 127
4.1.2 JavaScript中的“類” 128
4.2 類的機(jī)制 128
4.2.1 建造 128
4.2.2 構(gòu)造函數(shù) 130
4.3 類的繼承 130
4.3.1 多態(tài) 132
4.3.2 多重繼承 134
4.4 混入 134
4.4.1 顯式混入 135
4.4.2 隱式混入 139
4.5 小結(jié) 140
第5章 原型 142
5.1 [[Prototype]] 142
5.1.1 Object.prototype 144
5.1.2 屬性設(shè)置和屏蔽 144
5.2 “類” 146
5.2.1 “類”函數(shù) 146
5.2.2 “構(gòu)造函數(shù)” 149
5.2.3 技術(shù) 151
5.3?。ㄔ停├^承 153
5.4 對(duì)象關(guān)聯(lián) 159
5.4.1 創(chuàng)建關(guān)聯(lián) 159
5.4.2 關(guān)聯(lián)關(guān)系是備用 161
5.5 小結(jié) 162
第6章 行為委托 164
6.1 面向委托的設(shè)計(jì) 165
6.1.1 類理論 165
6.1.2 委托理論 166
6.1.3 比較思維模型 170
6.2 類與對(duì)象 173
6.2.1 控件“類” 174
6.2.2 委托控件對(duì)象 176
6.3 更簡(jiǎn)潔的設(shè)計(jì) 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.3.1 undefined 和undeclared 6
1.3.2 typeof Undeclared 7
1.4 小結(jié) 10
第 2 章 值 11
2.1 數(shù)組 11
2.2 字符串 13
2.3 數(shù)字 15
2.3.1 數(shù)字的語法 16
2.3.2 較小的數(shù)值 18
2.3.3 整數(shù)的安全范圍 19
2.3.4 整數(shù)檢測(cè) 20
2.3.5 32 位有符號(hào)整數(shù) 20
2.4 特殊數(shù)值 21
2.4.1 不是值的值 21
2.4.2 undefined 21
2.4.3 特殊的數(shù)字 23
2.4.4 特殊等式 27
2.5 值和引用 28
2.6 小結(jié) 31
第3 章 原生函數(shù) 33
3.1 內(nèi)部屬性[[Class]] 34
3.2 封裝對(duì)象包裝 35
3.3 拆封 36
3.4 原生函數(shù)作為構(gòu)造函數(shù) 37
3.4.1 Array(..) 37
3.4.2 Object(..)、Function(..) 和RegExp(..) 40
3.4.3 Date(..) 和Error(..) 41
3.4.4 Symbol(..) 42
3.4.5 原生原型 43
3.5 小結(jié) 45
第4 章 強(qiáng)制類型轉(zhuǎn)換 46
4.1 值類型轉(zhuǎn)換 46
4.2 抽象值操作 47
4.2.1 ToString 48
4.2.2 ToNumber 52
4.2.3 ToBoolean 53
4.3 顯式強(qiáng)制類型轉(zhuǎn)換 56
4.3.1 字符串和數(shù)字之間的顯式轉(zhuǎn)換 57
4.3.2 顯式解析數(shù)字字符串 62
4.3.3 顯式轉(zhuǎn)換為布爾值 65
4.4 隱式強(qiáng)制類型轉(zhuǎn)換 67
4.4.1 隱式地簡(jiǎn)化 67
4.4.2 字符串和數(shù)字之間的隱式強(qiáng)制類型轉(zhuǎn)換 68
4.4.3 布爾值到數(shù)字的隱式強(qiáng)制類型轉(zhuǎn)換 71
4.4.4 隱式強(qiáng)制類型轉(zhuǎn)換為布爾值 72
4.4.5 || 和&& 73
4.4.6 符號(hào)的強(qiáng)制類型轉(zhuǎn)換 76
4.5 寬松相等和嚴(yán)格相等 77
4.5.1 相等比較操作的性能 .77
4.5.2 抽象相等
4.6 抽象關(guān)系比較 89
4.7 小結(jié) 91
第5 章 語法 92
5.1 語句和表達(dá)式 92
5.1.1 語句的結(jié)果值 93
5.1.2 表達(dá)式的副作用 95
5.1.3 上下文規(guī)則 99
5.2 運(yùn)算符優(yōu)先級(jí) 104
5.2.1 短路 107
5.2.2 更強(qiáng)的綁定 107
5.2.3 關(guān)聯(lián) 108
5.2.4 釋疑 110
5.3 自動(dòng)分號(hào) 111
5.4 錯(cuò)誤 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.4.1 非交互 150
1.4.2 交互 150
1.4.3 協(xié)作 154
1.5 任務(wù) 156
1.6 語句順序 157
1.7 小結(jié) 159
第 2 章 回調(diào) 161
2.1 continuation 162
2.2 順序的大腦 163
2.2.1 執(zhí)行與計(jì)劃 164
2.2.2 嵌套回調(diào)與鏈?zhǔn)交卣{(diào) 165
2.3 信任問題 169
2.3.1 五個(gè)回調(diào)的故事 170
2.3.2 不只是別人的代碼 171
2.4 省點(diǎn)回調(diào) 173
2.5 小結(jié) 176
第3 章 Promise 178
3.1 什么是Promise 179
3.1.1 未來值 179
3.1.2 完成事件 183
3.2 具有then 方法的鴨子類型 188
3.3 Promise 信任問題 190
3.3.1 調(diào)用過早 190
3.3.2 調(diào)用過晚 191
3.3.3 回調(diào)未調(diào)用 192
3.3.4 調(diào)用次數(shù)過少或過多 193
3.3.5 未能傳遞參數(shù)/ 環(huán)境值 193
3.3.6 吞掉錯(cuò)誤或異?!?94
3.3.7 是可信任的Promise 嗎 195
3.3.8 建立信任 197
3.4 鏈?zhǔn)搅鳌?98
3.5 錯(cuò)誤處理 206
3.5.1 絕望的陷阱 208
3.5.2 處理未捕獲的情況 209
3.5.3 成功的坑 211
3.6 Promise 模式 212
3.6.1 Promise.all([ .. ]) 212
3.6.2 Promise.race([ .. ]) 213
3.6.3 all([ .. ]) 和race([ .. ]) 的變體 216
3.6.4 并發(fā)迭代 217
3.7 Promise API 概述 219
3.7.1 new Promise(..) 構(gòu)造器 219
3.7.2 Promise.resolve(..) 和Promise.reject(..) 219
3.7.3 then(..) 和catch(..) 220
3.7.4 Promise.all([ .. ]) 和Promise.race([ .. ]) 221
3.8 Promise 局限性 222
3.8.1 順序錯(cuò)誤處理 222
3.8.2 單一值 223
3.8.3 單決議 225
3.8.4 慣性 227
3.8.5 無法取消的Promise 230
3.8.6 Promise 性能 231
3.9 小結(jié) 233
第4 章 生成器 234
4.1 打破完整運(yùn)行 234
4.1.1 輸入和輸出 236
4.1.2 多個(gè)迭代器 239
4.2 生成器產(chǎn)生值 243
4.2.1 生產(chǎn)者與迭代器 243
4.2.2 iterable 246
4.2.3 生成器迭代器 247
4.3 異步迭代生成器 250
4.4 生成器+Promise 254
4.4.1 支持Promise 的Generator Runner 256
4.4.2 生成器中的Promise 并發(fā) 258
4.5 生成器委托 262
4.5.1 為什么用委托 264
4.5.2 消息委托 264
4.5.3 異步委托 268
4.5.4 遞歸委托 268
4.6 生成器并發(fā) 269
4.7 形實(shí)轉(zhuǎn)換程序 273
4.8 ES6 之前的生成器 279
4.8.1 手工變換 280
4.8.2 自動(dòng)轉(zhuǎn)換 284
4.9 小結(jié) 285
第5 章 程序性能 287
5.1 Web Worker 288
5.1.1 Worker 環(huán)境 290
5.1.2 數(shù)據(jù)傳遞 291
5.1.3 共享Worker 291
5.1.4 模擬Web Worker 293
5.2 SIMD 293
5.3 asm.js 295
5.3.1 如何使用asm.js 優(yōu)化 295
5.3.2 asm.js 模塊 296
5.4 小結(jié) 298
第6 章 性能測(cè)試與調(diào)優(yōu) 299
6.1 性能測(cè)試 99
6.1.1 重復(fù) 300
6.1.2 Benchmark.js 301
6.2 環(huán)境為王 303
6.3 jsPerf.com 305
6.4 寫好測(cè)試 309
6.5 微性能 309
6.5.1 不是所有的引擎都類似 312
6.5.2 大局 314
6.6 尾調(diào)用優(yōu)化 316
6.7 小結(jié) 318
附錄A asynquence 庫 319
附錄B 高 級(jí)異步模式 339

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)