发表于2024-11-21
JavaScript編程精解(原書第2版) pdf epub mobi txt 電子書 下載 2024
世JavaScript之父Brendan Eich高度評價並強力推薦
JavaScript編程原理與運用規則完美融閤,讀者將在遊戲式開發中學會JavaScript程序設計,是係統學習JavaScript程序設計的作品
JavaScript幾乎可以說是所有現代Web應用程序的核心,無論是社交應用程序,還是時下流行的瀏覽器遊戲。雖說學習和使用JavaScript的成本並不高,但是它卻是一種靈活且復雜的編程語言,你可以用它來構建功能全麵且復雜的應用程序。
本書深入剖析瞭JavaScript編程語言的內部細節,並闡述瞭編寫優雅高效代碼的方法。作者Marijn Haverbeke從示例代碼開始講解,逐步實現瞭完整的項目,與此同時作者還提供瞭一係列習題供讀者練習,你可以從中學習並瞭解如何編寫自己的程序。
通過閱讀本書,你將學習和瞭解到:
編程的基本要素,這其中包括語法、控製流和數據。
如何組織和創建麵嚮對象的代碼以及函數式編程的技術。
如何在瀏覽器當中編寫腳本和創建基本Web應用程序。
如何使用DOM與瀏覽器進行高效交互。
如何通過Node.js來構建服務器和工具。
本書的第2版經過全麵的更新和修訂,覆蓋瞭JavaScript的絕大多數語言特性,涉及Web編程和Node.js服務器編程,以及JavaScript性能優化等。本書的在綫網站提供瞭所有源代碼,你可以通過在綫沙箱來編輯、運行代碼,並實時查看輸齣結果。
JavaScript是一門流行的程序設計語言,在這個Web的時代中,其地位已經變得越來越舉足輕重。本書從JavaScript的基本語言特性入手,詳細講解JavaScript的語法,並通過一些實例,講解使用其解決實際問題的方法與思路。同時又結閤網頁開發與Node.js講解JavaScript在Web前端開發與服務端開發中的作用,可以為讀者快速學習掌握JavaScript提供係統指導。
??
本書共分為三個部分。第一部分主要討論JavaScript的語言特性。第1~4章介紹JavaScript語言的基本結構,包括控製結構、函數和數據結構。第5~6章深入探討函數與對象,並介紹如何控製代碼復雜度。第7章是實例項目,介紹如何使用基本的JavaScript語法解決實際問題。第8章介紹如何處理錯誤,第9章介紹正則錶達式與JavaScript中正則錶達式的用法。第10章介紹如何在JavaScript中構建使用模塊。第11章作為第一部分的結尾,介紹如何設計並構建一個程序語言解析器。第二部分主要講解如何在瀏覽器中運用JavaScript。第12章介紹JavaScript與瀏覽器的曆史與關係。第13章介紹瞭瀏覽器的DOM模型。第14章介紹如何使用JavaScript處理DOM事件。第15章介紹如何通過操縱DOM來編寫一個瀏覽器中的2D遊戲。第16章介紹HTML5中的畫布,並介紹如何使用JavaScript繪圖。第17章介紹HTTP協議,以及如何使用JavaScript進行網絡通信。第18章介紹錶單與其使用方法。第19章是另一個實例項目,介紹如何開發一個基於HTML的繪圖程序,是對第二部分的總結。第三部分是提高部分。第20章介紹如何使用Node.js開發Web服務,體現齣JavaScript的強大威力。第21章介紹如何使用JavaScript完成一個完整的Web應用。最後一章則介紹提升JavaScript性能的一些基本原則與方法,並給齣一些實例。
作者簡介
馬爾奇·哈弗貝剋(Marijn Haverbeke),
JavaScript程序員,通曉多種編程語言,在Web開發方麵積纍瞭豐富的經驗,在JavaScript領域頗有影響力。此外,他創建並維護著多個流行的開源項目,如CodeMirror編輯器和Tern類型推導引擎等。
譯者簡介
盧譽聲,軟件工程師,擅長C++多綫程編程和實時分布式係統架構。曾在思科係統(中國)研發中心雲産品研發部工作多年。他曾參與服務器後端、前端以及SDK的設計與研發工作,在大規模分布式係統設計與實現、性能調優、高可用性和自動化等方麵積纍瞭豐富的敏捷實踐與開發經驗。現在在美國某IT/互聯網公司工作,從事C++底層通信係統設計與研發。此外,他從事C/C++研發工作,對Java、JavaScript、Lua以及移動開發平颱等也有一定研究。
譯者序
贊譽
前言
第一部分 JavaScript編程語言
第1章 值、類型和運算符 2
1.1 值 2
1.2 數字 3
1.3 字符串 5
1.4 一元運算符 6
1.5 布爾值 6
1.6 未定義值 8
1.7 自動類型轉換 8
1.8 本章小結 10
第2章 程序結構 11
2.1 錶達式和語句 11
2.2 變量 12
2.3 關鍵字和保留字 13
2.4 環境 14
2.5 函數 14
2.6 console.log函數 14
2.7 返迴值 15
2.8 prompt和confirm函數 15
2.9 控製流 16
2.10 條件執行 16
2.11 while和do循環 17
2.12 代碼縮進 19
2.13 for循環 19
2.14 跳齣循環 20
2.15 更新變量的簡便方法 21
2.16 switch條件分支 21
2.17 大寫 22
2.18 注釋 22
2.19 本章小結 23
2.20 習題 23
第3章 函數 25
3.1 定義函數 25
3.2 參數和作用域 26
3.3 嵌套作用域 27
3.4 函數值 28
3.5 符號聲明 29
3.6 調用棧 29
3.7 可選參數 31
3.8 閉包 31
3.9 遞歸 32
3.10 添加新函數 35
3.11 函數及其副作用 37
3.12 本章小結 37
3.13 習題 38
第4章 數據結構:對象和數組 39
4.1 鬆鼠人 39
4.2 數據集 40
4.3 屬性 41
4.4 方法 41
4.5 對象 42
4.6 可變性 44
4.7 鬆鼠人的記錄 45
4.8 計算關聯性 47
4.9 對象映射 48
4.10 分析結果 49
4.11 詳解數組 50
4.12 字符串及其屬性 51
4.13 arguments對象 52
4.14 Math對象 53
4.15 全局對象 55
4.16 本章小結 55
4.17 習題 55
第5章 高階函數 58
5.1 抽象 59
5.2 數組遍曆抽象 59
5.3 高階函數 61
5.4 參數傳遞 62
5.5 JSON 63
5.6 數組過濾 64
5.7 使用map函數轉換數組 65
5.8 使用reduce進行數據匯總 65
5.9 可組閤性 66
5.10 性能開銷 67
5.11 曾曾曾曾……祖父 67
5.12 綁定 70
5.13 本章小結 70
5.14 習題 71
第6章 深入理解對象 72
6.1 曆史 72
6.2 方法 73
6.3 原型 74
6.4 構造函數 75
6.5 覆蓋繼承的屬性 76
6.6 原型汙染 77
6.7 無原型對象 79
6.8 多態 79
6.9 繪製錶格 80
6.10 Getter與Setter 84
6.11 繼承 85
6.12 instanceof運算符 87
6.13 本章小結 87
6.14 習題 88
第7章 項目實戰:構建電子生態
係統 89
7.1 定義 89
7.2 描述世界 90
7.3 動物的編程接口 91
7.4 World對象 93
7.5 this及其作用域 94
7.6 賦予生命 96
7.7 動物的爬行動作 98
7.8 更多動物 98
7.9 更逼真的生態係統仿真 99
7.10 動作處理器 100
7.11 充實這個新世界 102
7.12 讓虛擬世界生機盎然 103
7.13 習題 104
第8章 處理缺陷與錯誤 105
8.1 開發人員造成的問題 105
8.2 嚴格模式 106
8.3 測試 107
8.4 調試 108
8.5 錯誤傳播 109
8.6 異常 110
8.7 異常後清理 111
8.8 選擇性捕獲 112
8.9 斷言 114
8.10 本章小結 115
8.11 習題 115
第9章 正則錶達式 116
9.1 創建正則錶達式 116
9.2 匹配測試 117
9.3 匹配字符集 117
9.4 部分模式重復 118
9.5 子錶達式分組 119
9.6 匹配和分組 119
9.7 日期類型 120
9.8 單詞和字符串邊界 121
9.9 選項模式 122
9.10 匹配原理 122
9.11 迴溯 123
9.12 replace方法 125
9.13 貪婪模式 126
9.14 動態創建RegExp對象 127
9.15 search方法 128
9.16 lastIndex屬性 128
9.17 解析INI文件 129
9.18 國際化字符 131
9.19 本章小結 131
9.20 習題 132
第10章 模塊 134
10.1 模塊的好處 134
10.2 使用函數作為命名空間 136
10.3 使用對象作為接口 137
10.4 與全局作用域分離 138
10.5 將數據作為代碼執行 138
10.6 require函數 139
10.7 模塊加載過慢的問題 140
10.8 接口設計 143
10.9 本章小結 144
10.10 習題 145
第11章 項目實戰:開發編程語言 147
11.1 解析 147
11.2 代碼執行器 150
11.3 特殊形式 151
11.4 環境 153
11.5 函數 154
11.6 編譯 155
11.7 站在彆人的肩膀上 155
11.8 習題 156
第二部分 在瀏覽器中使用JavaScript
第12章 瀏覽器中的JavaScript 160
12.1 網絡和Internet 160
12.2 Web 161
12.3 HTML 162
12.4 HTML和JavaScript 164
12.5 沙箱 164
12.6 兼容性與瀏覽器之爭 165
第13章 文檔對象模型 166
13.1 文檔結構 166
13.2 樹 167
13.3 標準 168
13.4 通過樹結構訪問節點 169
13.5 查找元素 170
13.6 修改文檔 170
13.7 創建節點 171
13.8 屬性 173
13.9 布局 175
13.10 樣式 176
13.11 層疊樣式 177
13.12 查詢選擇器 178
13.13 位置與動畫 179
13.14 本章小結 181
13.15 習題 181
第14章 處理事件 183
14.1 事件處理器 183
14.2 事件與DOM節點 184
14.3 事件對象 184
14.4 傳播 185
14.5 默認動作 186
14.6 按鍵事件 187
14.7 鼠標點擊 188
14.8 鼠標移動 189
14.9 滾動事件 191
14.10 焦點事件 192
14.11 加載事件 192
14.12 腳本執行時間綫 193
14.13 設置定時器 193
14.14 降頻 194
14.15 本章小結 195
14.16 習題 196
第15章 項目實戰:平颱遊戲 198
15.1 遊戲 198
15.2 實現技術 199
15.3 關卡 199
15.4 讀取關卡 200
15.5 活動元素 201
15.6 當封裝成為負擔 203
15.7 繪圖 204
15.8 動作與衝突 208
15.9 活動元素與動作 209
15.10 跟蹤按鍵 213
15.11 運行遊戲 213
15.12 習題 215
第16章 使用canvas繪圖 217
16.1 SVG 217
16.2 canvas元素 218
16.3 填充與描邊 219
16.4 路徑 220
16.5 麯綫 221
16.6 繪製餅狀圖 224
16.7 文本 225
16.8 圖像 225
16.9 變換 227
16.10 存儲與清除圖像的變換狀態 228
16.11 迴到遊戲 230
16.12 選擇圖像接口 234
16.13 本章小結 235
16.14 習題 235
第17章 HTTP協議概述 237
17.1 協議簡介 237
17.2 瀏覽器和HTTP 238
17.3 XMLHttpRequest 240
17.4 發送請求 240
17.5 異步請求 241
17.6 獲取XML數據 242
17.7 HTTP沙箱 242
17.8 抽象請求 243
17.9 Promise 245
17.10 運用HTTP 247
17.11 安全和HTTPS 247
17.12 本章小結 248
17.13 習題 248
第18章 錶單和錶單域 250
18.1 域 250
18.2 聚焦 252
18.3 禁用域 252
18.4 作為整體的錶單 253
18.5 文本域 254
18.6 選擇框和單選框 255
18.7 選擇域 256
18.8 文件域 257
18.9 客戶端保存數據 259
18.10 本章小結 261
18.11 習題 261
第19章 項目實戰:繪圖程序 263
19.1 實現 263
19.2 建立DOM 264
19.3 基礎 265
19.4 工具選擇 265
19.5 顔色和畫刷大小 267
19.6 保存 269
19.7 加載圖片文件 270
19.8 完成 271
19.9 習題 272
第三部分 高級主題
第20章 Node.js 276
20.1 背景 276
20.2 異步性 277
20.3 node命令 278
20.4 模塊 278
20.5 使用NPM安裝 279
20.6 文件係統模塊 281
20.7 HTTP模塊 282
20.8 流 283
20.9 簡單的文件服務器 284
20.10 錯誤處理 288
20.11 本章小結 290
20.12 習題 290
第21章 項目實戰:技能分享網站 293
21.1 設計 293
21.2 長輪詢 294
21.3 HTTP接口 295
21.4 服務器 297
21.5 客戶端 303
21.6 習題 309
第22章 JavaScript和性能 311
22.1 分階段編譯 311
22.2 圖形布局 312
22.3 定義圖 313
22.4 第一個力導嚮布局函數 314
22.5 性能分析 316
22.6 函數內聯 317
22.7 退化迴舊式循環 318
22.8 避免工作 319
22.9 産生更少的垃圾 319
22.10 垃圾迴收 320
22.11 修改對象 321
22.12 動態類型 322
22.13 本章小結 323
22.14 習題 324
內容詳實,書籍的紙張不錯。
評分還沒看 聽說還不錯
評分書挺好的,幫彆人購買,京東送的快
評分學習JS的入門書籍,牆裂推薦
評分fgghdghjjjjkkkknnnjj
評分書質量還不錯,內容有待好好學習
評分超級棒的書,內容剛好都是想看到的
評分入門適用,入門必備,通俗易懂,首選!
評分翻譯的不太好
JavaScript編程精解(原書第2版) pdf epub mobi txt 電子書 下載