TOP
紅利積點抵現金,消費購書更貼心
JavaScript編程精解(原書第3版)(簡體書)
滿額折

JavaScript編程精解(原書第3版)(簡體書)

商品資訊

人民幣定價:99 元
定價
:NT$ 594 元
優惠價
87517
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點:15 點
商品簡介
作者簡介
名人/編輯推薦
目次

商品簡介

本書第3版深入研究JavaScript語言,詳細介紹如何編寫漂亮、高效的代碼。更新的內容包括:類表示法、箭頭函數、迭代器、異步函數、模板字符串和塊作用域等功能的全新內容。 本書通過大量示例進行講解,並提供大量習題和完整項目案例,為讀者提供了編寫自己的程序的實踐經驗。書中不僅介紹JavaScript語言的基本結構以及控制結構、函數和數據結構,還詳細介紹錯誤處理和錯誤修復、模塊化和異步編程,以及Web瀏覽器編程。

作者簡介

馬爾奇·哈弗貝克(Marijn Haverbeke),
全球知名JavaScript程序員,通曉多種編程語言,在Web開發方面積累了豐富的經驗,在JavaScript領域頗有影響力。
他研究過各種軟件系統,從數據庫到編譯器再到編輯器均有涉及。此外,他創建並維護著多個流行的開源項目,如CodeMirror編輯器和Tern類型推導引擎等。

名人/編輯推薦

本書從JavaScript的基本語言特性入手,提綱挈領地介紹JavaScript的主要功能和特色,包括基本結構、函數、數據結構、高階函數、錯誤處理、正則表達式、模塊、異步編程、瀏覽器文檔對象模型、事件處理、繪圖、HTTP表單、Node等,可以幫助你循序漸進地掌握基本的編程概念、技術和思想。而且書中提供5個項目實戰章節,涉及路徑查找、自製編程語言、平臺交互遊戲、繪圖工具和動態網站,可以幫助你快速上手實際的項目。此外,本書還介紹了JavaScript性能優化的方法論、思路和工具,以幫助我們開發高效的程序。


本書第3版包含了JavaScript語言ES6規範的新功能,如綁定、常量、類、promise等。通過本書的學習,你將瞭解JavaScript語言的新發展,編寫出更強大的代碼。

本書的在線網站提供了所有源代碼,你可以通過在線沙箱來編輯、運行代碼,並實時查看輸出結果。



★ “這是我所見過的把編程概念解釋得極其恰當的書之一。”

――Sandra Henry-Stocker,IT World


★“如果選擇這本書開始你的JavaScript學習,你可以很快學到很多技術知識和編程智慧。”

――Michael J. Ross,Web開發人員和Slashdot貢獻者


★ “因為學了這本書,我成為一名更好的架構師、作者、導師和開發人員。這是一本比肩Flannagan和 Crockford的著作的書籍。”

――Angus Croll,Twitter的開發人員


★ “對任何編程語言和整個編程的極好的介紹。”

――Jan Lehnardt,Hoodie的聯合創始人和歐盟JSConf的組織者


★ “每當人們問我如何正確學習JavaScript時,我都會推薦這本書。”

――Chris Williams,美國JSConf的組織者


★ “這是我讀過的極好的的JavaScript書之一。”

――Rey Bango,JQuery 團隊成員和微軟客戶端Web通信程序經理


★“這是一部非常好的JavaScript指南,更重要的是,它還是很好的編程指南。”

――Ben Nadel, Epicenter Consulting首席軟件工程師


★“一本好書,適合那些沒有JavaScript經驗,甚至沒有編程經驗的人閱讀。”

――Nicholas Zakas,《高性能JavaScript》和《JavaScript面向對象精要》的作者。


★“如果你是JavaScript的新手,我建議你做的第一件事就是打開本書並閱讀作者對該語言的介紹。”

――英國CNET

目次

【第一部分】 語言

第1章 值、類型和運算符 2

1.1 值 2

1.2 數字 3

1.3 字符串 4

1.4 一元運算符 6

1.5 布爾值 6

1.5.1 比較 6

1.5.2 邏輯運算符 7

1.6 空值 8

1.7 自動類型轉換 8

1.8 小結 10

第2章 程序結構 11

2.1 表達式和語句 11

2.2 綁定 12

2.3 綁定名稱 13

2.4 環境 13

2.5 函數 14

2.6 console.log函數 14

2.7 返回值 15

2.8 控制流 15

2.9 條件執行 15

2.10 while和do循環 17

2.11 縮進代碼 18

2.12 for循環 19

2.13 跳出循環 19

2.14 簡潔地更新綁定 20

2.15 使用switch調度值 20

2.16 首字母大寫 21

2.17 注釋 22

2.18 小結 22

2.19 習題 22

第3章 函數 24

3.1 定義一個函數 24

3.2 綁定和作用域 25

3.3 作為值的函數 27

3.4 聲明表示法 27

3.5 箭頭函數 28

3.6 調用棧 28

3.7 可選參數 29

3.8 閉包 30

3.9 遞歸 31

3.10 函數的增長方式 34

3.11 函數和副作用 36

3.12 小結 36

3.13 習題 37

第4章 數據結構:對象和數組 38

4.1 松鼠人 38

4.2 數據集 39

4.3 屬性 39

4.4 方法 40

4.5 對象 41

4.6 可變性 43

4.7 松鼠人的日誌 44

4.8 計算相關性 45

4.9 數組循環 46

4.10 最終分析 47

4.11 其他數組方法 48

4.12 字符串及其屬性 50

4.13 剩餘參數 51

4.14 Math對象 52

4.15 解構 53

4.16 JSON 54

4.17 小結 54

4.18 習題 55

第5章 高階函數 57

5.1 抽象化 58

5.2 提取重複的內容 58

5.3 高階函數 59

5.4 語言字符集數據集 60

5.5 過濾數組 61

5.6 用map轉換 62

5.7 用reduce匯總 62

5.8 組合性 63

5.9 字符串和字符代碼 64

5.10 文本識別 66

5.11 小結 67

5.12 習題 67

第6章 對象的秘密 69

6.1 封裝 69

6.2 方法 70

6.3 原型 71

6.4 類 72

6.5 類表示法 73

6.6 覆蓋派生屬性 74

6.7 映射 75

6.8 多態性 76

6.9 符號 76

6.10 迭代器接口 78

6.11 讀取器、設置器和靜態 79

6.12 繼承 81

6.13 instanceof運算符 82

6.14 小結 82

6.15 習題 83

第7章 項目:機器人 85

7.1 村莊Meadowf?ield 85

7.2 任務 86

7.3 持久化數據 88

7.4 模擬 89

7.5 郵車的路線 90

7.6 尋找路線 91

7.7 習題 92

第8章 缺陷和錯誤 94

8.1 語言 94

8.2 嚴格模式 95

8.3 類型 96

8.4 測試 96

8.5 調試 97

8.6 錯誤傳播 98

8.7 異常 99

8.8 異常後清理 100

8.9 選擇性捕獲 102

8.10 斷言 103

8.11 小結 104

8.12 習題 104

第9章 正則表達式 106

9.1 創建正則表達式 106

9.2 匹配測試 107

9.3 字符集 107

9.4 模式的重複部分 108

9.5 對子表達式分組 109

9.6 匹配和組 109

9.7 Date類 110

9.8 單詞和字符串邊界 111

9.9 選擇模式 112

9.10 匹配機制 112

9.11 回溯 113

9.12 replace方法 114

9.13 貪心 116

9.14 動態創建RegExp對象 117

9.15 search方法 117

9.16 lastIndex屬性 118

9.17 解析INI文件 119

9.18 國際字符 121

9.19 小結 122

9.20 習題 123

第10章 模塊 124

10.1 模塊作為構件 124

10.2 包 125

10.3 簡易模塊 126

10.4 將數據作為代碼執行 127

10.5 CommonJS 127

10.6 ECMAScript模塊 129

10.7 構建和捆綁 130

10.8 模塊設計 131

10.9 小結 132

10.10 習題 133

第11章 異步編程 134

11.1 異步 134

11.2 烏鴉技術 135

11.3 回調 136

11.4 promise 138

11.5 失敗 139

11.6 構建網絡很困難 140

11.7 promise集合 142

11.8 網絡泛洪 142

11.9 消息路由 143

11.10 異步函數 145

11.11 生成器 147

11.12 事件循環 148

11.13 異步bug 149

11.14 小結 150

11.15 習題 150

第12章 項目:編程語言 152

12.1 解析 152

12.2 求解器 156

12.3 特殊形式 157

12.4 環境 158

12.5 函數 159

12.6 編譯 160

12.7 作弊 161

12.8 習題 161



【第二部分】 瀏覽器

第13章 瀏覽器中的JavaScript 164

13.1 網絡和互聯網 164

13.2 Web 165

13.3 HTML 166

13.4 HTML和JavaScript 168

13.5 沙盒 168

13.6 兼容性和瀏覽器大戰 169

第14章 文檔對象模型 170

14.1 文檔結構 170

14.2 樹 171

14.3 標準 172

14.4 通過樹結構 173

14.5 尋找元素 174

14.6 更改文檔 175

14.7 創建節點 175

14.8 屬性 177

14.9 佈局 177

14.10 樣式 179

14.11 層疊樣式 180

14.12 查詢選擇器 181

14.13 定位和動畫 182

14.14 小結 184

14.15 習題 184

第15章 處理事件 186

15.1 事件處理程序 186

15.2 事件和DOM節點 187

15.3 事件對象 188

15.4 傳播 188

15.5 默認操作 189

15.6 按鍵事件 190

15.7 指針事件 191

15.8 滾動事件 194

15.9 焦點事件 195

15.10 加載事件 196

15.11 事件和事件循環 196

15.12 計時器 197

15.13 限頻 198

15.14 小結 199

15.15 習題 199

第16章 項目:平臺遊戲 201

16.1 遊戲 201

16.2 技術 202

16.3 關卡 202

16.4 讀取關卡 203

16.5 演員 204

16.6 封裝是一種負擔 207

16.7 繪圖 207

16.8 動作和碰撞 211

16.9 演員的更新 214

16.10 跟蹤按鍵 215

16.11 運行遊戲 216

16.12 習題 218

第17章 在畫布上繪圖 219

17.1 SVG 219

17.2 畫布元素 220

17.3 線和麵 221

17.4 路徑 222

17.5 曲線 223

17.6 繪製餅圖 225

17.7 文本 226

17.8 圖片 227

17.9 轉換 228

17.10 存儲和清除轉換 230

17.11 回到遊戲 231

17.12 選擇圖形界面 236

17.13 小結 236

17.14 習題 237

第18章 HTTP和表單 239

18.1 協議 239

18.2 瀏覽器和HTTP 241

18.3 fetch 242

18.4 HTTP沙盒 243

18.5 欣賞HTTP 243

18.6 安全性和HTTPS 244

18.7 表單域 244

18.8 焦點 246

18.9 禁用域 247

18.10 表單整體 247

18.11 文本域 248

18.12 複選框和單選按鈕 249

18.13 選擇域 250

18.14 文件域 251

18.15 在客戶端存儲數據 252

18.16 小結 254

18.17 習題 255

第19章 項目:像素繪圖程序 257

19.1 組件 257

19.2 狀態 259

19.3 DOM的建立 260

19.4 畫布 261

19.5 應用程序 263

19.6 繪圖工具 264

19.7 保存和加載 267

19.8 撤銷歷史記錄 269

19.9 讓我們畫吧 270

19.10 為什麼這麼難 271

19.11 習題 271



【第三部分】 Node

第20章 Node.js 276

20.1 背景 276

20.2 node命令 277

20.3 模塊 277

20.4 使用NPM安裝 278

20.5 文件系統模塊 280

20.6 HTTP模塊 281

20.7 流 283

20.8 文件服務器 284

20.9 小結 288

20.10 習題 289

第21章 項目:技能分享網站 290

21.1 設計 290

21.2 長輪詢 291

21.3 HTTP接口 292

21.4 服務器 293

21.5 客戶端 299

21.6 習題 304

第22章 JavaScript性能 305

22.1 分階段編譯 305

22.2 圖的佈局 306

22.3 定義圖 307

22.4 力導向佈局 308

22.5 避免工作 310

22.6 分析器 312

22.7 函數內聯 313

22.8 減少垃圾 314

22.9 垃圾收集 314

22.10 動態類型 315

22.11 小結 316

22.12 習題 317

附錄 部分習題解答提示 318

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 517
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區