《JavaScript專家編程》是2015年人民郵電出版社出版的圖書,作者是[美] Mark Daggett 達格特。
基本介紹
- 書名:《JavaScript專家編程》
- 作者:[美] Mark Daggett 達格特
- ISBN:978-7-115-39276-3
- 出版社:人民郵電出版社
- 出版時間:2015年
圖書信息,圖書簡介,目錄,
圖書信息
【作者】[美] Mark Daggett 達格特
【ISBN】978-7-115-39276-3
【日期】2015-08
圖書簡介
全書共10章,分別介紹了對象和原型、函式、閉包、術語、異步編程、JavaScript的IRL、編程風格、工作流程、代碼質量、提高可測試性等內容。
目錄
第 1章 對象和原型 1
1.1 鳥瞰JavaScript 1
腳本設計 2
1.2 對象概述 3
1.2.1 對象化 3
1.2.2 原型編程 20
1.3 小結 29
第 2章 函式 30
2.1 JavaScript中的代碼塊 30
2.2 小結 44
第3章 了解閉包 45
3.1 作用域的真相 45
3.1.1 理解this關鍵字 46
3.1.2 塊級作用域 48
3.2 第 一個閉包程式 49
3.3 為什麼要用閉包 50
對象工廠 50
3.4 小結 53
第4章 術語和俚語 54
什麼是編程術語? 55
4.2 強轉 55
4.2.1 轉為String 56
4.2.2 轉為數字 56
4.2.3 強轉的陷阱 57
4.3 邏輯運算符 61
4.3.1 邏輯與(&&) 61
4.3.2 邏輯或(||) 62
4.3.3 邏輯非(!) 62
4.4 位變換 65
4.4.1 按位與(&) 65
4.4.2 按位或(|) 67
4.4.3 按位異或(^) 68
4.4.4 按位非(~) 69
4.4.5 位移操作69
4.5 不易讀代碼 71
4.5.1 暗中的eval 71
4.5.2 各種進制 71
4.5.3 使用Unicode編碼的變數 72
4.5.4 真正的WAT在這裡 72
4.6 小結 73
4.7 補充參考資料 74
第5章 異步生活 75
5.1 理解JavaScript中的並發 75
並發 75
5.2 理解JavaScript的事件循環 77
5.2.1 運行到完成 77
5.2.2 事件觸發的設計 77
5.2.3 事件循環的內部 77
5.3 回調 79
5.3.1 感知性能 80
5.3.2 連續傳遞風格 81
5.3.3 回調地獄 82
5.4 Promise:從未來返回 83
使用Promise 84
5.5 生成器和協程 85
5.5.1 生成器 86
5.5.2 協程的約定 88
5.5.3可持續生成器 89
5.6 Web Workers 91
5.6.1 並發 91
5.6.2 知道什麼時候做一個工頭 91
5.6.3 雇用worker 92
5.7 小結 100
其他資源 100
第6章 JavaScript的IRL 102
6.1 硬體崇拜者日記 102
6.1.1 消防軟管 102
6.1.2 每個人都可以玩的硬體 103
6.1.3 了解物理硬體 103
6.2 物理計算 104
物聯網 105
6.3 為什麼要使用JavaScript 105
6.3.1 搭建橋樑 106
6.3.2 回響式編程範式 106
6.4 NodeBots:快速,廉價和伺服控制 107
6.4.1 REPL 108
6.4.2 為何要多此一舉 108
6.4.3 前提條件 109
6.4.4 Arduino IDE 110
6.4.5 Node串列連線埠 112
6.4.6 Firmata 115
6.4.7 Johnny-Five 118
6.5 Fauxbots 123
6.6 其他資源 123
第7章 風格 124
7.1 什麼是風格 124
7.2 什麼是編程風格 125
7.2.1 一致性 125
7.2.2 表達能力 125
7.2.3 簡潔 125
7.2.4 約束性 126
7.3 JavaScript風格指南 126
7.3.1 視覺清晰度規則 126
7.3.2 計算效率規則 134
7.4 施行代碼風格 139
7.4.1 Beautifiers 139
7.4.2 通過IDE執行 140
7.5 小結 142
第8章 工作流程 144
8.1 不要鏟雪 144
8.2 什麼是工作流程 144
8.3 合理的JavaScript開發流程 145
8.4 工具的選擇 145
8.4.1 訂購工具 146
8.4.2 依賴關係管理 148
8.4.3 保護升級路徑 149
8.5 引導程式 150
8.6 開發 153
CoffeeScript示例 154
8.7 測試 157
8.7.1 如何測試 157
8.7.2 Karma 157
8.7.3 PhantomJS 159
8.7.4 測試什麼 160
8.8 構建 163
8.8.1 編譯 163
8.8.2 分析 163
8.8.3 拼接 163
8.8.4 最佳化 163
8.8.5 測試 164
8.8.6 通知 164
8.9 支持 164
8.9.1 JavaScript中的錯誤報告 165
8.9.2 源碼映射 165
8.10 小結 165
第9章 代碼質量 167
9.1 定義代碼質量 167
9.1.1 主觀質量 168
9.1.2 客觀質量 168
9.2 如何度量質量 168
9.3 為什麼要度量代碼質量 169
9.4 度量JavaScript代碼質量 170
靜態代碼分析 170
9.5 小結 188
第 10章 提高可測試性 189
10.1 為什麼測試無法測試 189
10.1.1 測試謬論 190
10.1.2 確認偏見 193
10.2 找到基線 195
10.2.1 語句覆蓋 196
10.2.2 函式覆蓋 197
10.2.3 分支覆蓋 197
10.2.4 Istanbul 198
10.2.5 覆蓋率偏見 199
10.3 偏見消除測試 200
10.3.1 模糊測試 200
10.3.2 JSCheck 202
10.3.3 自動測試 206
10.4 小結 207