JavaScript套用開發實踐指南

JavaScript套用開發實踐指南

《JavaScript套用開發實踐指南》是2013年機械工業出版社出版的圖書,作者是TimWright。

基本介紹

  • 書名:JavaScript套用開發實踐指南
  • 又名:JavaScript套用開發實踐指南
  • 作者:Tim Wright
  • 原版名稱:JavaScript套用開發實踐指南
  • 譯者:愛飛翔
  • ISBN:9787111426165
  • 頁數:314
  • 定價:69.00
  • 出版社:機械工業出版社
  • 出版時間:2013-6-5
  • 裝幀:精裝
  • 原作名:Learning JavaScript
內容介紹,作者介紹,作品目錄,

內容介紹

《JavaScript套用開發實踐指南》是一本少有的、頗具特色的、能為初學者提供捷徑的JavaScript實踐指南,它由資深Web前端工程師撰寫,以漸進增強的開發方式系統講解了JavaScript的各項最新技術、開發技巧、最佳實踐,以及編碼風格,通過大量清晰易懂的範例和精心設計的練習題,讓讀者能迅速掌握JavaScript實踐開發技能。
全書共分12章。
第1章介紹了漸進增強模型的定義,剖析了模型的架構(結構層、表現層和行為層)和優勢,並對比了“漸進增強”與“平穩退化”。
第2章介紹了如何在瀏覽器中運用JavaScript語言,初步提到“適時運用CSS規則”、“提升用戶體驗”等原則。
第3章解析與DOM、數據存儲、創建互動層等有關的術語。
第4章介紹DOM的基本構成和操作。
第5章講解了JavaScript數據存儲的形式和多種操作方法,其中涵蓋流行的JSON格式,以及HTML5標準的網路數據存儲方式。
第6章介紹編程所需變數、函式及循環知識。
第7章介紹以事件處理實現用戶互動的方法。
第8章介紹如何通過Ajax與伺服器通信。
第9章介紹代碼組織方式和風格,以提升代碼的效率、可讀性和可復用性。
第10章介紹如何通過程式庫更便捷地編寫JavaScript代碼,涵蓋jQuery、外掛程式、微型程式庫等。
第11章介紹實用、前沿的HTML5 JavaScript API,其中不乏新增的API。
第12章對關鍵知識點進行了梳理,並針對網站設計師和網站開發者給出相應的深入研究方向。

作者介紹

Tim Wright,資深Web前端工程師,有近10年前端設計與開發經驗,專注於CSS3、HTML5、網站易訪問性、用戶體驗等技術的研究與實踐,在構建能夠自動適應桌面及移動設備瀏覽器的應用程式方面造詣匪淺。是《Smashing Magazine》、《Sitepoint》與《Web Designer Depot》等多個知名網路設計線上刊物的專欄作家,文章內容涵蓋前端開發的各個方面。此外,他曾於包括Future of Web Design在內的多個活動中發表演講。曾任職於美國多所大學,每到一處,必定會推動制訂先進的網路開發標準。

作品目錄

本書讚譽
譯者序
前言
第1章 漸進增強模型 / 1
1.1 漸進增強式網頁開發模型的定義 / 1
1.1.1 漸進增強式開發模型的歷史 / 2
1.1.2 漸進增強式開發模型的目標 / 3
1.1.3 易訪問性 / 4
1.1.4 代碼可讀性 / 4
1.1.5 漸進增強與平穩退化 / 4
1.2 結構層 / 5
1.3 表現層 / 9
1.3.1 內聯css / 9
1.3.2 連結外部樣式表 / 10
1.4 行為層 / 11
1.4.1 內聯javascript代碼 / 12
1.4.2 嵌入式javascript代碼 / 13
1.4.3 外聯式的低調javascript代碼 / 15
1.5 漸進增強式開發模型的好處 / 16
.1.5.1 性能 / 17
1.5.2 適應新趨勢 / 17
1.5.3 觸摸界面 / 19
1.6 漸進增強模型結語 / 20
1.7 總結 / 20
1.8 習題 / 20
第2章 javascript語言在瀏覽器中的運用 / 21
2.1 javascript風雲錄 / 22
2.1.1 源起 / 22
2.1.2 漸進增強模型 / 24
2.1.3 行為層 / 25
2.1.4 javascript的未來 / 26
2.2 瀏覽器與javascript代碼的互動 / 26
2.2.1 http請求 / 27
2.2.2 javascript引擎與渲染引擎 / 31
2.3 javascript語言能做什麼 / 32
2.3.1 修改html文檔 / 32
2.3.2 與伺服器通信 / 33
2.3.3 存儲數據 / 34
2.4 javascript的正確用法 / 34
2.4.1 改善用戶體驗 / 35
2.4.2 編寫可靠的javascript代碼 / 35
2.4.3 創建備用方案 / 37
2.5 javascript輔助開發工具 / 38
2.5.1 語言內置的工具 / 39
2.5.2 瀏覽器中的工具 / 40
2.6 總結 / 40
2.7 習題 / 41
第3章 javascript術語解析 / 42
3.1 基本術語 / 42
3.1.1 文檔對象模型(dom) / 42
3.1.2 父節點 / 43
3.1.3 子節點 / 43
3.1.4 兄弟節點 / 44
3.1.5 變數 / 44
3.1.6 字元串 / 46
3.1.7 注釋 / 46
3.1.8 操作符 / 47
3.1.9 use strict指令 / 48
3.2 數據存儲方式 / 48
3.2.1 快取 / 48
3.2.2 數組 / 49
3.2.3 cookies / 49
3.2.4 javascript對象表示法(json) / 50
3.2.5 對象 / 50
3.3 創建互動層 / 51
3.3.1 循環 / 51
3.3.2 條件語句 / 52
3.3.3 switch語句 / 53
3.3.4 函式 / 53
3.3.5 匿名函式 / 54
3.3.6 回調函式 / 56
3.3.7 方法 / 56
3.3.8 事件 / 57
3.3.9 ajax / 58
3.4 總結 / 58
3.5 習題 / 59
第4章 操作文檔對象模型 / 60
4.1 文檔對象模型是什麼 / 60
4.2 dom結構樹 / 61
4.2.1 元素節點 / 62
4.2.2 文本節點 / 63
4.2.3 屬性節點 / 64
4.3 處理元素節點 / 66
4.3.1 根據id定位元素 / 66
4.3.2 根據標籤名稱定位元素 / 67
4.3.3 根據class屬性定位元素 / 70
4.3.4 在javascript中使用css選擇器來定位節點 / 71
4.4 處理屬性節點 / 73
4.4.1 獲取屬性 / 74
4.4.2 設定屬性 / 75
4.4.3 移除屬性 / 76
4.5 處理文本節點並修改其內容 / 76
4.6 遍歷dom / 77
4.6.1 訪問首尾兩個子節點 / 79
4.6.2 在dom中動態地添加和移除節點 / 80
4.6.3 向dom中新增元素 / 81
4.6.4 從dom中移除元素 / 82
4.7 總結 / 82
4.8 習題 / 83
第5章 javascript數據存儲 / 84
5.1 變數 / 84
5.1.1 字元串 / 85
5.1.2 數值 / 86
5.1.3 boolean / 87
5.1.4 與變數相關的性能問題 / 87
5.2 數組 / 88
5.2.1 基本數組 / 88
5.2.2 關聯數組 / 90
5.2.3 多維數組 / 90
5.2.4 向數組中新增數據 / 91
5.2.5 數組對象各方法的使用 / 92
5.3 join方法 / 92
5.4 slice方法 / 93
5.5 shift與unshift方法 / 94
5.6 pop方法 / 95
5.7 concat方法 / 95
5.8 sort方法 / 96
5.9 對象 / 96
5.10 json / 98
5.10.1 使用json格式的好處 / 99
5.10.2 調用api / 99
5.11 html5標準中的網路數據存儲方式 / 100
5.12 setitem方法 / 101
5.13 getitem方法 / 102
5.14 removeitem方法 / 102
5.14.1 以json格式存放大量數據 / 103
5.14.2 編寫健壯的網路存儲代碼 / 104
5.15 總結 / 104
5.16 習題 / 105
第6章 變數、函式及循環 / 106
6.1 定義變數 / 106
6.1.1 將變數集中到一起 / 107
6.1.2 保留字 / 107
6.2 函式 / 109
6.2.1 普通函式 / 109
6.2.2 匿名函式 / 110
6.3 作用域 / 111
6.3.1 回調函式 / 112
6.3.2 返回數據 / 113
6.3.3 將函式作為方法使用 / 115
6.4 循環 / 116
6.5 條件語句 / 119
6.5.1 if語句 / 120
6.5.2 if/else語句 / 121
6.5.3 switch語句 / 121
6.5.4 if與switch語句的對比 / 122
6.6 綜合運用本章所學內容 / 123
6.7 總結 / 125
6.8 習題 / 125
第7章 以事件處理實現用戶互動 / 126
7.1 設定事件處理程式 / 127
7.1.1 事件處理器 / 128
7.1.2 事件監聽器 / 129
7.1.3 事件綁定 / 131
7.1.4 解除事件綁定 / 133
7.2 滑鼠與鍵盤事件 / 133
7.2.1 click事件 / 136
7.2.2 focus與blur事件 / 138
7.2.3 易訪問性 / 139
7.2.4 change事件 / 139
7.2.5 mouseover與mouseout事件(處理滑鼠懸停) / 140
7.2.6 submit事件 / 141
7.2.7 阻止瀏覽器的默認行為 / 143
7.2.8 keydown、keypress與keyup事件 / 144
7.2.9 本節代碼匯總 / 144
7.3 觸摸及方向變換事件 / 147
7.3.1 touchstart與touchend事件 / 148
7.3.2 touchmove事件 / 149
7.3.3 orientationchange事件 / 150
7.3.4 支持觸摸事件的設備 / 151
7.4 觸摸事件相關代碼匯總 / 151
7.5 總結 / 152
7.6 習題 / 153
第8章 通過ajax與伺服器通信 / 154
8.1 ajax的歷史 / 155
8.1.1 伺服器通信 / 156
8.1.2 xmlhttprequest對象 / 157
8.2 創建ajax調用 / 159
8.2.1 向伺服器傳送請求 / 160
8.2.2 接收伺服器傳回的數據 / 163
8.2.3 反覆執行ajax調用 / 169
8.3 ajax數據格式 / 170
8.3.1 xml / 170
8.3.2 html / 172
8.3.3 json / 173
8.4 ajax的易訪問性 / 174
8.5 ajax常見誤區 / 176
8.6 本章代碼匯總 / 178
8.7 ajax的未來 / 182
8.8 總結 / 183
8.9 習題 / 184
第9章 代碼組織方式 / 185
9.1 通用代碼風格規範 / 186
9.1.1 作用域 / 187
9.1.2 在遇到錯誤時儘快終止 / 189
9.1.3 用戶體驗 / 191
9.2 代碼設計 / 191
9.2.1 檔案與目錄結構 / 192
9.2.2 文檔內的腳本 / 193
9.2.3 變數聲明 / 194
9.2.4 變數與函式的命名 / 196
9.2.5 注釋 / 196
9.2.6 縮進 / 198
9.2.7 空格 / 199
9.2.8 語句內間隔 / 200
9.2.9 斷行 / 201
9.2.10 數學運算與操作符 / 202
9.2.11 eval()的用法 / 203
9.2.12 不宜制定過於死板的代碼風格 / 205
9.3 代碼結構 / 206
9.3.1 函式 / 206
9.3.2 匿名函式 / 207
9.3.3 以變數形式出現的函式 / 208
9.3.4 以方法形式出現的函式 / 209
9.3.5 javascript開發模式 / 210
9.4 總結 / 214
9.5 習題 / 215
第10章 用程式庫更便捷地編寫javascript代碼 / 216
10.1 javascript程式庫基礎 / 217
10.1.1 程式庫的學習過程 / 218
10.1.2 語法 / 219
10.1.3 專注於目標 / 219
10.1.4 創造捷徑 / 220
10.1.5 解決瀏覽器兼容性問題 / 221
10.1.6 流行的程式庫 / 222
10.2 jquery基礎知識 / 227
10.2.1 document.ready / 229
10.2.2 選擇器 / 229
10.2.3 遍歷dom / 231
10.2.4 添加樣式信息 / 232
10.2.5 事件綁定 / 233
10.2.6 動畫 / 234
10.3 jquery中的非基礎知識 / 234
10.3.1 使用jquery庫執行ajax調用 / 235
10.3.2 用jquery遍歷數據 / 237
10.3.3 函式鏈 / 238
10.4 以外掛程式擴展程式庫 / 240
10.5 使用程式庫的好處 / 242
10.5.1 流行度與社區支持度 / 242
10.5.2 高效代碼 / 244
10.6 使用程式庫的缺點 / 245
10.6.1 開銷 / 245
10.6.2 性能 / 245
10.6.3 對程式庫的過分依賴及其壽命問題 / 246
10.7 微型程式庫的使用 / 246
10.7.1 微型程式庫的優點 / 247
10.7.2 微型程式庫的缺點 / 248
10.8 總結 / 249
10.9 習題 / 249
第11章 html5 javascript api / 250
11.1 html5是什麼 / 251
11.2 新標記(新html元素) / 251
11.2.1 創建更好的語義 / 252
11.2.2 構建更易訪問的內容 / 252
11.3 javascript api / 255
11.3.1 navigator對象 / 255
11.3.2 地理位置api / 256
11.3.3 音頻與視頻 / 258
11.3.4 history api / 261
11.3.5 工作執行緒 / 266
11.4 device api / 272
11.4.1 電池狀態api / 273
11.4.2 震動api / 275
11.4.3 網路信息api / 276
11.5 通過功能檢測技術來嘗試新的api / 279
11.6 總結 / 280
11.7 習題 / 280
第12章 javascript深入研究指要 / 281
12.1 對關鍵知識點的簡要回顧 / 282
12.1.1 漸進增強模型 / 282
12.1.2 操作dom / 283
12.1.3 數據存儲 / 285
12.1.4 伺服器通信 / 287
12.2 適合網站設計師的javascript研究方向 / 288
12.2.1 高級界面設計 / 288
12.2.2 用javascript代碼操控css漸變效果 / 293
12.2.3 與桌面作業系統互動 / 297
12.3 適合網站開發者的javascript研究方向 / 302
12.3.1 javascript模板 / 302
12.3.2 通過node.js庫以javascript語言實現伺服器程式 / 308
12.4 總結 / 311
12.5 習題 / 311
參考答案 / 312

相關詞條

熱門詞條

聯絡我們