JavaScript編程實戰

JavaScript編程實戰

《JavaScript編程實戰》是2014年3月人民郵電出版社出版的圖書,作者是[美]Jon Raasch。

基本介紹

  • 書名:JavaScript編程實戰
  • 作者:[美]Jon Raasch
  • 出版社:人民郵電出版社
  • 出版時間:2014年3月
  • 頁數:308 頁
  • 定價:59 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787115345486
內容簡介,圖書目錄,

內容簡介

《JavaScript編程實戰》深入探討了如何懂匙肯基於JavaScript技術從頭開始創建真實的套用,共分為四個部分。第 一部分介紹了**佳實踐以及庫、框架與外掛程式,為構建套用奠定堅實的基礎。第 二部分討論了前端的構建,包括Backbone.js、JavaScript模板,以及表單處理和校驗的相關內容。第三部分涉及如何用Node.js編寫伺服器端JavaScript。**後一部分挑戰程式的功能極限,介紹了如何構建實時應用程式、調整移動領域的Web程式、JavaScript圖形處理技術等內容。趨廈祖騙
《JavaScript編程實戰》適合趨漏蜜所有熟悉JavaScript並希望提升相關技術水平的開發人員和設計人員學習參考。

圖書目錄

第 一部分 堅實的基礎
第 1章 **佳實踐 2
1.1 松耦合 2
1.1.1 緊耦合的問題 2
1.1.2 松耦合的優勢 3
1.2 JavaScript MVC和模板 3
1.2.1 MVC 3
1.2.2 模板 5
1.3 開發工具 6
1.3.1 WebKit開發人員工具 6
1.3.2 Weinre 10
1.3.3 版本控制 12
1.3.4 CSS預處理 12
1.4 測希禁試 12
1.4.1 使用Grunt 13
1.4.2 使用QUnit 17
1.5 小結 20
1.6 補充資源 21
第 2章 庫、框架與外掛程式 22
2.1 選擇恰當的JavaScript庫 22
2.1.1 jQuery 22
2.1.2 Zepto 24
2.1.3 普通的DOM 25
2.2 使用框架 27
2.2.1 Bootstrap 27
2.2.2 jQuery UI 28
2.2.3 移動框架 28
2.3 其他腳本 28
2.3.1 Modernizr 28
2.3.2 HTML5 Shiv 29
2.4 HTML5樣板 29
2.5 尋找jQuery外掛程式 30
2.5.1 去哪裡(以及不要去哪裡)找 30
2.5.2 要找什麼——一個十項檢查列求民艱表 30
2.6 小結 32
2.7 補充資源 32
第 二部分 構建前端
第3章 Backbone.js 36
3.1 初識Backbone 36
3.1.1 Backbone是什麼 36
3.1.2 為什麼要用Backbone 36
3.1.3 Backbone基礎 37
3.1.4 什麼時候用Backbone 37
3.1.5 設定Backbone 38
3.2 Backbone中的模型 38
3.2.1 創建一個模型 39
3.2.2 創建計算屬性 39
3.2.3 設定默認值 39
3.2.4 使用初始化函式 40
3.2.5 使用Backbone事件 40
3.2.6 模型的校驗 41
3.3 使用Backbone中的集合 42
3.3.1 創建集合 42
3.3.2 創建集合事件 43
3.4 理解Backbone視圖 43
3.4.1 創建視圖 44
3.4.2 使用渲染函式 44
3.4.3 使用Backbone中的視圖元素 46
3.4.4 使用嵌套視圖 49
3.5 數據的保存及獲取 55
3.5.1 與伺服器上的模型同步 55
3.5.2 在Backbone中使用LocalStorage API 58
3.5.3 把集合保存在伺服器上 59
3.5.4 使用Backbone.sync 65
3.6 使用路由控制器 66
3.6.1 路由如何使用 66
3.6.2 地朽店設定路由控制器 67
3.6.3 PushState與Hashchange 69
3.7 再談事件 70
3.7.1 事件解綁定 71
3.7.2 手動觸發事件 71
3.7.3 綁定“this” 71
3.7.4 All事件 72
3.8 操作集合 白拜旋廈73
3.8.1 取出集合中的條目 73
3.8.2 集合排序 74
3.9 小結 76
3.10 補充資源 77
第4章 使用JavaScript模板 78
4.1 認識模板 78
4.1.1 為什麼使用模板 78
4.1.2 了解不同的模板庫 79
4.1.3 做出正確的選擇 80
4.2 使用Underscore模板 81
4.2.1 Underscore模板基礎知識 81
4.2.2 重溫模板的**佳實踐 83
4.2.3 在模板中使用JavaScript 85
4.3 在Backbone中使用模板 88
4.3.1 不用模板設定模型和視圖 88
4.3.2 用模板渲染視圖 89
4.4 小結 92
4.5 補充資源 92
第5章 創建表單 93
5.1 理解漸進式增強 93
5.1.1 漸進式增強方式 93
5.1.2 為什麼要漸進式增強 94
5.1.3 決定支持哪個環境 94
5.2 讓HTML5替你工作 95
5.2.1 HTML5的輸入控制項類型 95
5.2.2 互動特性 102
5.3 給老瀏覽器用Polyfill 104
5.3.1 尋找第三方Polyfill 105
5.3.2 編寫自己的Polyfill 105
5.4 連線REST API 112
5.4.1 提交表單 113
5.4.2 構建通用函式 114
5.5 Backbone中的表單 115
5.5.1 設定表單模型 115
5.5.2 設定表單視圖 116
5.5.3 將表單域保存到模型中 117
5.5.4 添加校驗 118
5.5.5 清理模板 123
5.5.6 必填項 124
5.5.7 提交表單 126
5.5.8 合併代碼 128
5.6 小結 132
5.7 補充資源 132
第三部分 編寫伺服器端JavaScript
第6章 Node.js簡介 136
6.1 為什麼是Node 136
6.1.1 在實時程式中使用Node 136
6.1.2 Node的工作機制 137
6.2 安裝Node 138
6.2.1 在Mac/Linux上安裝 138
6.2.2 在Windows上安裝 139
6.2.3 檢查安裝情況 140
6.3 Node入門 140
6.3.1 創建伺服器 140
6.3.2 添加內容 141
6.3.3 打包 141
6.3.4 運行腳本 142
6.3.5 簡化腳本 143
6.3.6 使用Node REPL 143
6.4 Node模組 145
6.4.1 引入模組 145
6.4.2 外部模組和NPM 146
6.4.3 尋找模組 147
6.5 Node 模式 148
6.5.1 模組和全局變數 148
6.5.2 異步模式 152
6.5.3 事件 154
6.5.4 子進程 155
6.6 小結 158
6.7 補充資源 158
第7章 Express框架 160
7.1 Express入門 160
7.1.1 安裝Express 160
7.1.2 創建Express程式 160
7.2 設定路由 161
7.2.1 已有路由 162
7.2.2 創建新的路由 163
7.2.3 POST、PUT和DELETE 163
7.3 渲染視圖 164
7.3.1 啟用Underscore模板 164
7.3.2 創建視圖 166
7.4 處理表單數據 172
7.4.1 創建POST路由 172
7.4.2 將反饋發給模板 173
7.5 發封郵件 178
7.5.1 連到SMTP伺服器上 178
7.5.2 構建Email訊息 179
7.5.3 傳送郵件 179
7.5.4 在結束之前 180
7.6 小結 182
7.7 補充資源 182
第8章 MongoDB 184
8.1 NoSQL資料庫有什麼好處 184
8.1.1 擴展能力 184
8.1.2 簡單性 184
8.2 MongoDB入門 185
8.2.1 安裝MongoDB 185
8.2.2 運行MongoDB 186
8.2.3 安裝MongoDB模組 187
8.2.4 創建資料庫 187
8.3 MongoDB中的CRUD 188
8.3.1 創建集合 188
8.3.2 讀取數據 190
8.3.3 更新數據 194
8.3.4 刪除數據 196
8.4 Mongoose 197
8.4.1 Mongoose入門 197
8.4.2 創建模型 198
8.4.3 讀取數據 200
8.5 資料庫上的其他選擇 204
8.6 小結 204
8.7 補充資源 204
第四部分 挑戰極限
第9章 用WebSockets構建實時程式 208
9.1 WebSockets的工作機制 208
9.1.1 輪詢的問題 208
9.1.2 WebSockets方案 209
9.2 Socket.IO入門 210
9.2.1 伺服器上的Socket.IO 210
9.2.2 客戶端的Socket.IO 211
9.3 構建實時的聊天室 212
9.3.1 創建聊天室視圖 212
9.3.2 將訊息提交給伺服器 214
9.3.3 在伺服器端處理訊息 215
9.3.4 在客戶端顯示新訊息 216
9.3.5 添加Backbone.js結構 217
9.3.6 添加用戶 223
9.3.7 添加時間戳 225
9.3.8 保存到MongoDB中 227
9.3.9 合併代碼 229
9.4 小結 233
9.5 補充資源 234
第 10章 進入移動領域 235
10.1 搭建移動App 235
10.1.1 檢測移動終端 235
10.1.2 設定移動端網站的樣式 237
10.1.3 移動端框架 238
10.2 集成觸屏 238
10.2.1 基本觸摸事件 239
10.2.2 複雜的觸摸手勢 239
10.3 Geolocation 248
10.3.1 找到用戶的位置 248
10.3.2 連線Google地圖 249
10.3.3 追蹤Geolocation的變化 251
10.4 電話號碼和簡訊 251
10.4.1 靜態的電話號碼和SMS連結 251
10.4.2 用JavaScript撥打電話和傳送簡訊 252
10.5 PhoneGap 252
10.5.1 PhoneGap的優與劣 253
10.5.2 PhoneGap入門 254
10.5.3 連線相機 254
10.5.4 連線通訊錄 254
10.5.5 其他API 255
10.6 小結 255
10.7 補充資源 255
第 11章 JavaScript圖形 257
11.1 畫布基礎 257
11.1.1 畫出基本的形狀 258
11.1.2 讓畫布動起來 260
11.1.3 畫布中的滑鼠事件 261
11.2 SVG基礎 261
11.2.1 讓SVG動起來 262
11.2.2 SVG滑鼠事件 262
11.2.3 編碼SVG 263
11.3 Rapha l.js 263
11.3.1 作畫路徑 264
11.3.2 畫曲線 265
11.3.3 樣式 266
11.3.4 動畫 268
11.3.5 滑鼠事件 269
11.4 用gRapha l做圖表 270
11.4.1 餅圖 270
11.4.2 柱狀圖 271
11.4.3 折線圖 273
11.5 帶WebGL的3D畫布 276
11.5.1 Three.js簡介 276
11.5.2 創建圖像紋理 280
11.5.3 3D動畫 281
11.5.4 添加滑鼠事件 282
11.5.5 使用備選的2D畫布 283
11.6 CSS中的3D變換 284
11.7 小結 286
11.8 補充資源 286
第 12章 推出你的程式 288
12.1 性能檢查表 288
12.1.1 重點在哪 288
12.1.2 資源管理 290
12.1.3 動畫最佳化 291
12.1.4 少做為妙 295
12.1.5 規避回流 295
12.2 部署 296
12.2.1 把靜態資源部署在CDN上 296
12.2.2 把Node服務部署在EC2上 297
12.3 推出 297
12.4 補充資源 297
附錄A 用LESS做CSS預處理 299
A.1 LESS簡介 299
A.1.1 預處理的好處 299
A.1.2 安裝LESS編譯器 300
A.1.3 在伺服器上編譯 300
A.2 LESS的基礎知識 300
A.2.1 變數 300
A.2.2 操作符 301
A.2.3 嵌套 302
A.3 函式和Mixin 304
A.3.1 函式 304
A.3.2 Mixin 305
A.4 檔案結構 306
A.4.1 使用Import 306
A.4.2 檔案結構示例 306
A.4.3 定製結構 307
A.5 小結 307
A.6 補充資源 307
3.2.1 創建一個模型 39
3.2.2 創建計算屬性 39
3.2.3 設定默認值 39
3.2.4 使用初始化函式 40
3.2.5 使用Backbone事件 40
3.2.6 模型的校驗 41
3.3 使用Backbone中的集合 42
3.3.1 創建集合 42
3.3.2 創建集合事件 43
3.4 理解Backbone視圖 43
3.4.1 創建視圖 44
3.4.2 使用渲染函式 44
3.4.3 使用Backbone中的視圖元素 46
3.4.4 使用嵌套視圖 49
3.5 數據的保存及獲取 55
3.5.1 與伺服器上的模型同步 55
3.5.2 在Backbone中使用LocalStorage API 58
3.5.3 把集合保存在伺服器上 59
3.5.4 使用Backbone.sync 65
3.6 使用路由控制器 66
3.6.1 路由如何使用 66
3.6.2 設定路由控制器 67
3.6.3 PushState與Hashchange 69
3.7 再談事件 70
3.7.1 事件解綁定 71
3.7.2 手動觸發事件 71
3.7.3 綁定“this” 71
3.7.4 All事件 72
3.8 操作集合 73
3.8.1 取出集合中的條目 73
3.8.2 集合排序 74
3.9 小結 76
3.10 補充資源 77
第4章 使用JavaScript模板 78
4.1 認識模板 78
4.1.1 為什麼使用模板 78
4.1.2 了解不同的模板庫 79
4.1.3 做出正確的選擇 80
4.2 使用Underscore模板 81
4.2.1 Underscore模板基礎知識 81
4.2.2 重溫模板的**佳實踐 83
4.2.3 在模板中使用JavaScript 85
4.3 在Backbone中使用模板 88
4.3.1 不用模板設定模型和視圖 88
4.3.2 用模板渲染視圖 89
4.4 小結 92
4.5 補充資源 92
第5章 創建表單 93
5.1 理解漸進式增強 93
5.1.1 漸進式增強方式 93
5.1.2 為什麼要漸進式增強 94
5.1.3 決定支持哪個環境 94
5.2 讓HTML5替你工作 95
5.2.1 HTML5的輸入控制項類型 95
5.2.2 互動特性 102
5.3 給老瀏覽器用Polyfill 104
5.3.1 尋找第三方Polyfill 105
5.3.2 編寫自己的Polyfill 105
5.4 連線REST API 112
5.4.1 提交表單 113
5.4.2 構建通用函式 114
5.5 Backbone中的表單 115
5.5.1 設定表單模型 115
5.5.2 設定表單視圖 116
5.5.3 將表單域保存到模型中 117
5.5.4 添加校驗 118
5.5.5 清理模板 123
5.5.6 必填項 124
5.5.7 提交表單 126
5.5.8 合併代碼 128
5.6 小結 132
5.7 補充資源 132
第三部分 編寫伺服器端JavaScript
第6章 Node.js簡介 136
6.1 為什麼是Node 136
6.1.1 在實時程式中使用Node 136
6.1.2 Node的工作機制 137
6.2 安裝Node 138
6.2.1 在Mac/Linux上安裝 138
6.2.2 在Windows上安裝 139
6.2.3 檢查安裝情況 140
6.3 Node入門 140
6.3.1 創建伺服器 140
6.3.2 添加內容 141
6.3.3 打包 141
6.3.4 運行腳本 142
6.3.5 簡化腳本 143
6.3.6 使用Node REPL 143
6.4 Node模組 145
6.4.1 引入模組 145
6.4.2 外部模組和NPM 146
6.4.3 尋找模組 147
6.5 Node 模式 148
6.5.1 模組和全局變數 148
6.5.2 異步模式 152
6.5.3 事件 154
6.5.4 子進程 155
6.6 小結 158
6.7 補充資源 158
第7章 Express框架 160
7.1 Express入門 160
7.1.1 安裝Express 160
7.1.2 創建Express程式 160
7.2 設定路由 161
7.2.1 已有路由 162
7.2.2 創建新的路由 163
7.2.3 POST、PUT和DELETE 163
7.3 渲染視圖 164
7.3.1 啟用Underscore模板 164
7.3.2 創建視圖 166
7.4 處理表單數據 172
7.4.1 創建POST路由 172
7.4.2 將反饋發給模板 173
7.5 發封郵件 178
7.5.1 連到SMTP伺服器上 178
7.5.2 構建Email訊息 179
7.5.3 傳送郵件 179
7.5.4 在結束之前 180
7.6 小結 182
7.7 補充資源 182
第8章 MongoDB 184
8.1 NoSQL資料庫有什麼好處 184
8.1.1 擴展能力 184
8.1.2 簡單性 184
8.2 MongoDB入門 185
8.2.1 安裝MongoDB 185
8.2.2 運行MongoDB 186
8.2.3 安裝MongoDB模組 187
8.2.4 創建資料庫 187
8.3 MongoDB中的CRUD 188
8.3.1 創建集合 188
8.3.2 讀取數據 190
8.3.3 更新數據 194
8.3.4 刪除數據 196
8.4 Mongoose 197
8.4.1 Mongoose入門 197
8.4.2 創建模型 198
8.4.3 讀取數據 200
8.5 資料庫上的其他選擇 204
8.6 小結 204
8.7 補充資源 204
第四部分 挑戰極限
第9章 用WebSockets構建實時程式 208
9.1 WebSockets的工作機制 208
9.1.1 輪詢的問題 208
9.1.2 WebSockets方案 209
9.2 Socket.IO入門 210
9.2.1 伺服器上的Socket.IO 210
9.2.2 客戶端的Socket.IO 211
9.3 構建實時的聊天室 212
9.3.1 創建聊天室視圖 212
9.3.2 將訊息提交給伺服器 214
9.3.3 在伺服器端處理訊息 215
9.3.4 在客戶端顯示新訊息 216
9.3.5 添加Backbone.js結構 217
9.3.6 添加用戶 223
9.3.7 添加時間戳 225
9.3.8 保存到MongoDB中 227
9.3.9 合併代碼 229
9.4 小結 233
9.5 補充資源 234
第 10章 進入移動領域 235
10.1 搭建移動App 235
10.1.1 檢測移動終端 235
10.1.2 設定移動端網站的樣式 237
10.1.3 移動端框架 238
10.2 集成觸屏 238
10.2.1 基本觸摸事件 239
10.2.2 複雜的觸摸手勢 239
10.3 Geolocation 248
10.3.1 找到用戶的位置 248
10.3.2 連線Google地圖 249
10.3.3 追蹤Geolocation的變化 251
10.4 電話號碼和簡訊 251
10.4.1 靜態的電話號碼和SMS連結 251
10.4.2 用JavaScript撥打電話和傳送簡訊 252
10.5 PhoneGap 252
10.5.1 PhoneGap的優與劣 253
10.5.2 PhoneGap入門 254
10.5.3 連線相機 254
10.5.4 連線通訊錄 254
10.5.5 其他API 255
10.6 小結 255
10.7 補充資源 255
第 11章 JavaScript圖形 257
11.1 畫布基礎 257
11.1.1 畫出基本的形狀 258
11.1.2 讓畫布動起來 260
11.1.3 畫布中的滑鼠事件 261
11.2 SVG基礎 261
11.2.1 讓SVG動起來 262
11.2.2 SVG滑鼠事件 262
11.2.3 編碼SVG 263
11.3 Rapha l.js 263
11.3.1 作畫路徑 264
11.3.2 畫曲線 265
11.3.3 樣式 266
11.3.4 動畫 268
11.3.5 滑鼠事件 269
11.4 用gRapha l做圖表 270
11.4.1 餅圖 270
11.4.2 柱狀圖 271
11.4.3 折線圖 273
11.5 帶WebGL的3D畫布 276
11.5.1 Three.js簡介 276
11.5.2 創建圖像紋理 280
11.5.3 3D動畫 281
11.5.4 添加滑鼠事件 282
11.5.5 使用備選的2D畫布 283
11.6 CSS中的3D變換 284
11.7 小結 286
11.8 補充資源 286
第 12章 推出你的程式 288
12.1 性能檢查表 288
12.1.1 重點在哪 288
12.1.2 資源管理 290
12.1.3 動畫最佳化 291
12.1.4 少做為妙 295
12.1.5 規避回流 295
12.2 部署 296
12.2.1 把靜態資源部署在CDN上 296
12.2.2 把Node服務部署在EC2上 297
12.3 推出 297
12.4 補充資源 297
附錄A 用LESS做CSS預處理 299
A.1 LESS簡介 299
A.1.1 預處理的好處 299
A.1.2 安裝LESS編譯器 300
A.1.3 在伺服器上編譯 300
A.2 LESS的基礎知識 300
A.2.1 變數 300
A.2.2 操作符 301
A.2.3 嵌套 302
A.3 函式和Mixin 304
A.3.1 函式 304
A.3.2 Mixin 305
A.4 檔案結構 306
A.4.1 使用Import 306
A.4.2 檔案結構示例 306
A.4.3 定製結構 307
A.5 小結 307
A.6 補充資源 307

相關詞條

熱門詞條

聯絡我們