産品特色
編輯推薦
JavaScript語言有很多復雜的概念,但卻用簡單的方式體現齣來(比如迴調函數),因此,JavaScript開發者無需理解語言內部的原理,就能編寫齣功能全麵的程序。然而,JavaScript的這些復雜精妙的概念纔是語言的精髓,即使是經驗豐富的JavaScript開發者,如果沒有認真學習,也無法真正理解語言本身的特性。正是因為絕大多數人不求甚解,一遇到齣乎意料的行為就認為是語言本身有缺陷,進而把相關的特性加入黑名單,久而久之就排除瞭這門語言的多樣性,人為地使它變得不完整、不安全。
“你不知道的JavaScript”係列就是要讓不求甚解的JavaScript開發者迎難而上,深入語言內部,弄清楚JavaScript每一個零部件的用途。本書介紹瞭該係列的兩個主題:“類型和語法”以及“異步和性能”。掌握瞭這些知識之後,無論什麼技術、框架和流行詞語,你都能輕鬆理解。
內容簡介
JavaScript這門語言簡單易用,很容易上手,但其語言機製復雜微妙,即使是經驗豐富的JavaScript開發人員,如果沒有認真學習的話也無法真正理解。本套書直麵當前JavaScript開發人員不求甚解的大趨勢,深入理解語言內部的機製,全麵介紹瞭JavaScript中常被人誤解和忽視的重要知識點。本書是其中捲,主要介紹瞭類型、語法、異步和性能。
作者簡介
Kyle Simpson
作傢、培訓師、講師、開源社區的活躍成員,推崇開放的互聯網,對JavaScript、HTML5、實時/端對端通信和Web性能有深入研究。
單業
計算機專業碩士,軟件工程師,曾供職於多傢軟件公司,從事軟件開發工作,現居於上海。負責本書第二部分“異步和性能”的翻譯。
薑南
從事過國內外金融、通信、移動互聯網、數字齣版等領域的IT係統開發工作,擅長的技術有Java、C#、HTML5、JavaScript、iOS、Android等。長期在獨立技術博客——酷殼(coolshell.cn)發錶翻譯文章。負責本書首部分“類型和語法”的翻譯。
目錄
目錄
前言 XI
第一部分 類型和語法
序 2
第1 章 類型 3
1.1 類型 4
1.2 內置類型 4
1.3 值和類型 6
1.3.1 undefined 和undeclared 6
1.3.2 typeof Undeclared 7
1.4 小結 10
第2 章 值 11
2.1 數組 11
2.2 字符串 13
2.3 數字 15
2.3.1 數字的語法 16
2.3.2 較小的數值 18
2.3.3 整數的安全範圍 19
2.3.4 整數檢測 20
2.3.5 32 位有符號整數 20
2.4 特殊數值 21
2.4.1 不是值的值 21
2.4.2 undefined 21
2.4.3 特殊的數字 23
2.4.4 特殊等式 27
2.5 值和引用 28
2.6 小結 31
第3 章 原生函數 33
3.1 內部屬性[[Class]] 34
3.2 封裝對象包裝 35
3.3 拆封 36
3.4 原生函數作為構造函數 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 小結 45
第4 章 強製類型轉換 46
4.1 值類型轉換 46
4.2 抽象值操作 47
4.2.1 ToString 48
4.2.2 ToNumber 52
4.2.3 ToBoolean 53
4.3 顯式強製類型轉換 56
4.3.1 字符串和數字之間的顯式轉換 57
4.3.2 顯式解析數字字符串 62
4.3.3 顯式轉換為布爾值 65
4.4 隱式強製類型轉換 67
4.4.1 隱式地簡化 67
4.4.2 字符串和數字之間的隱式強製類型轉換 68
4.4.3 布爾值到數字的隱式強製類型轉換 71
4.4.4 隱式強製類型轉換為布爾值 72
4.4.5 || 和 73
4.4.6 符號的強製類型轉換 76
4.5 寬鬆相等和嚴格相等 77
4.5.1 相等比較操作的性能 .77
4.5.2 抽象相等
4.6 抽象關係比較 89
4.7 小結 91
第5 章 語法 92
5.1 語句和錶達式 92
5.1.1 語句的結果值 93
5.1.2 錶達式的副作用 95
5.1.3 上下文規則 99
5.2 運算符優先級 104
5.2.1 短路 107
5.2.2 更強的綁定 107
5.2.3 關聯 108
5.2.4 釋疑 110
5.3 自動分號 111
5.4 錯誤 113
5.5 函數參數 115
5.6 try..finally 117
5.7 switch 120
5.8 小結 122
附錄A 混閤環境JavaScript 123
第二部分 異步和性能
序 136
第1 章 異步:現在與將來 138
1.1 分塊的程序 139
1.2 事件循環 141
1.3 並行綫程 143
1.4 並發 148
1.4.1 非交互 150
1.4.2 交互 150
1.4.3 協作 154
1.5 任務 156
1.6 語句順序 157
1.7 小結 159
第2 章 迴調 161
2.1 continuation 162
2.2 順序的大腦 163
2.2.1 執行與計劃 164
2.2.2 嵌套迴調與鏈式迴調 165
2.3 信任問題 169
2.3.1 五個迴調的故事 170
2.3.2 不隻是彆人的代碼 171
2.4 省點迴調 173
2.5 小結 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 調用過早 190
3.3.2 調用過晚 191
3.3.3 迴調未調用 192
3.3.4 調用次數過少或過多 193
3.3.5 未能傳遞參數/ 環境值 193
3.3.6 吞掉錯誤或異常 194
3.3.7 是可信任的Promise 嗎 195
3.3.8 建立信任 197
3.4 鏈式流 198
3.5 錯誤處理 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 並發迭代 217
3.7 Promise API 概述 219
3.7.1 new Promise(..) 構造器 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 順序錯誤處理 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 小結 233
第4 章 生成器 234
4.1 打破完整運行 234
4.1.1 輸入和輸齣 236
4.1.2 多個迭代器 239
4.2 生成器産生值 243
4.2.1 生産者與迭代器 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 並發 258
4.5 生成器委托 262
4.5.1 為什麼用委托 264
4.5.2 消息委托 264
4.5.3 異步委托 268
4.5.4 遞歸委托 268
4.6 生成器並發 269
4.7 形實轉換程序 273
4.8 ES6 之前的生成器 279
4.8.1 手工變換 280
4.8.2 自動轉換 284
4.9 小結 285
第5 章 程序性能 287
5.1 Web Worker 288
5.1.1 Worker 環境 290
5.1.2 數據傳遞 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 優化 295
5.3.2 asm.js 模塊 296
5.4 小結 298
第6 章 性能測試與調優 299
6.1 性能測試 99
6.1.1 重復 300
6.1.2 Benchmark.js 301
6.2 環境為王 303
6.3 jsPerf.com 305
6.4 寫好測試 309
6.5 微性能 309
6.5.1 不是所有的引擎都類似 312
6.5.2 大局 314
6.6 尾調用優化 316
6.7 小結 318
附錄A asynquence 庫 319
附錄B 高級異步模式 339
你不知道的JavaScript 中捲 epub pdf mobi txt 電子書 下載 2024
你不知道的JavaScript 中捲 下載 epub mobi pdf txt 電子書
評分
☆☆☆☆☆
確實不適閤沒基礎的人去讀 看來要配套讀一些東西瞭 。慢慢消化這本好書
評分
☆☆☆☆☆
慢慢看,提高js,js好難
評分
☆☆☆☆☆
Thank you very much for the excellent service provided by Jingdong mall, and it is very good to do in warehouse management, logistics, distribution and so on. Delivery in a timely manner, distribution staff is also very enthusiastic, and sometimes inconvenient to receive the time, but also arranged for time to be delivered. At the same time in the mall management Jingdong customer service is also very good, to solve customer suffering, overcome all difficulties. Give us a very good shopping experience. Shun Kei kei!
評分
☆☆☆☆☆
書質量挺好,京東的物流速度也一如既往的快…,第一次在網上買書看,因為平時不太喜歡看書!!
評分
☆☆☆☆☆
東西不錯,可以再次買,給幾個朋友看瞭一下,都覺得很值。物流師傅很辛苦,我們這邊天氣很差,還是很負責的送瞭過來,很感動。質量非常好,與賣傢描述的完全一緻,非常滿意,真的很喜歡,完全超齣期望值,發貨速度非常快,包裝非常仔細、嚴實,物流公司服務態度很好,運送速度很快,很滿意的一次購物,謝謝!!!
評分
☆☆☆☆☆
可以的,非常好的書呢,很棒
評分
☆☆☆☆☆
經常網購,總有大量的包裹收,感覺寫評語花掉瞭我大量的時間和精力! 所以在一段時間裏,我總是不去評價 或者隨便寫寫! 但是,我又總是覺得好像有點對不住那些辛苦工作的賣傢客服、倉管、老闆。 於是我寫下瞭一小段話,給我覺得能拿到我五星好評的賣傢的寶貝評價裏麵以示感謝和尊敬! 首先,寶貝是 性價比很高的,我每次都會先試用再評價的,雖然寶貝不一定是最好的,但在同等的價位裏麵絕對是錶現最棒的。 希望店傢能再接再厲, 做得更大更強!
評分
☆☆☆☆☆
感覺不錯,價格也很公道,值的購買!
評分
☆☆☆☆☆
前端流行技術,學起來。包裝完美,有塑封。 活動給力,買100減50,相當劃算。 物流快,當天下單當天到貨。 配送師傅nice,這一單兩大箱書籍38本IT書,師傅幫我扛上樓滴。