本書是iQuery之父的經典之作,是深入學習JavaScript技術的絕佳教材,涵蓋了可重用代碼、文檔對象模型、Ajax、Web生產工具、AngularJS等內容。
作者講解了JavaScript的發展現狀、實用技巧以及未來趨勢,輔以諸多代碼示例,條理清楚、分析到位。
本書展示了更新穎、更巧妙、更有深度的JavaScript技術,同時理清了JavaScript的發展脈絡,既能磨煉技能,又可開拓視野。
John Resig,美國軟件工程師,jQuery之父,骨灰級Web開發大師,畢業於羅切斯特理工學院,2007年加入Mozilla公司,現為可汗學院開發人員。
Russ Ferguson,傑出開發人員,曾為多家知名企業開發應用,並任教於普羅斯特藝術學院和帕森設計學院。
John Paxton傑出開發人員,通曉多種開發語言,現專心研究Java和JavaScript。
目錄
第1章 專業JavaScript 技術....................... 1
1.1 JavaScript 的歷程.......................... 1
1.2 現代JavaScript ............................3
1.2.1 庫的崛起 ....................................... 4
1.2.2 移動,可不只說說而已 ................ 5
1.2.3 何去何從 ....................................... 5
1.3 后續內容.............................................. 6
1.4 小結.................................................. 7
第2章 特性、函數和對象 ............................ 8
2.1 語言特性 .......................................... 8
2.1.1 引用和值 ....................................... 8
2.1.2 作用域 .......................................... 10
2.1.3 上下文 .......................................... 12
2.1.4 閉包 .............................................. 13
2.1.5 函數重載與類型檢查 ................... 16
2.2 新的對象工具 .......................................... 19
2.2.1 對象 .............................................. 19
2.2.2 修改對象 ...................................... 19
2.3 小結 ................................................ 22
第3章 創建可重用代碼 ............................... 23
3.1 面向對象的JavaScript ............................ 23
3.1.1 繼承 .............................................. 27
3.1.2 成員可見性 .................................. 31
3.1.3 面向對象JavaScript 的未來 ......... 33
3.2 打包JavaScript ...................................... 33
3.2.1 命名空間 ...................................... 33
3.2.2 模塊模式 ...................................... 34
3.2.3 立即調用的函數表達式 ............. 36
3.3 小結 ................................................ 38
第4章 JavaScript 代碼調試 ....................... 39
4.1 調試工具 .......................................... 39
4.1.1 控制台 .......................................... 40
4.1.2 利用控制台的特性 ....................... 42
4.2 調試器 .......................................... 43
4.2.1 DOM 探查器 ................................ 44
4.2.2 網絡分析器 .................................. 44
4.2.3 時間線 .......................................... 45
4.2.4 側寫器 .......................................... 45
4.3 小結 ........................................ 47
第5章 文檔對象模型 ................................... 48
5.1 文檔對象模型簡介 .................................. 48
5.1.1 DOM 結構 .................................... 50
5.1.2 DOM 中的相互關系..................... 51
5.2 訪問DOM 元素 ....................................... 53
5.3 等待HTML DOM 載入 ........................... 56
5.3.1 等待頁面載入 .............................. 56
5.3.2 等待正確的事件 .......................... 56
5.4 獲取元素內容 .......................................... 57
5.4.1 獲取元素的文本內容 ................... 57
5.4.2 獲取元素的HTML ...................... 59
5.5 使用元素特性 .......................................... 59
5.6 修改DOM ................................ 63
5.6.1 使用DOM 創建節點 .................... 63
5.6.2 插入DOM .................................... 63
5.6.3 向DOM 中插入HTML ............... 64
5.6.4 從DOM 中刪除節點 .................... 66
5.6.5 處理DOM 中的空白字符 ............ 67
5.6.6 簡單的DOM 導航 ....................... 68
5.7 小結 ....................................... 70
第6章 事件 ..................................... 71
6.1 JavaScript 事件簡介 ................................ 71
6.1.1 棧、隊列和事件循環 ................... 71
6.1.2 事件階段 ...................................... 72
6.2 綁定事件偵聽器 ...................................... 73
6.2.1 傳統式綁定 .................................. 74
6.2.2 DOM 綁定:W3C ........................ 77
6.2.3 解除事件綁定 .............................. 78
6.3 常見的事件特性 ...................................... 79
6.3.1 事件對象 ...................................... 79
6.3.2 取消事件冒泡 .............................. 80
6.3.3 屏蔽瀏覽器的默認行為 ............... 81
6.3.4 事件委托 ...................................... 82
6.4 事件對象 .................................. 83
6.4.1 普通屬性 ...................................... 83
6.4.2 鼠標屬性 ...................................... 84
6.4.3 鍵盤屬性 ...................................... 86
6.5 事件類型 ...................................... 86
6.5.1 頁面事件 ...................................... 87
6.5.2 UI 事件 ......................................... 88
6.5.3 鼠標事件 ...................................... 88
6.5.4 鍵盤事件 ...................................... 89
6.5.5 表單事件 ...................................... 90
6.5.6 事件可訪問性 .............................. 90
6.6 小結 ............................................... 91
第7章 JavaScript 與表單驗證 .................. 92
7.1 HTML 與CSS 表單驗證 ......................... 92
7.2 JavaScript 表單驗證 ................................ 95
7.2.1 驗證與用戶 .................................. 98
7.2.2 驗證事件 ...................................... 99
7.3 定制驗證 .............................................101
7.4 小結 ................................... 102
第8章 Ajax 入門 ......................................... 103
8.1 使用Ajax ................................. 104
8.1.1 H T T P 請求 ................................. 104
8.1.2 H T T P 響應 ................................. 109
8.2 小結 .................................. 111
第9章 Web 生產工具 ................................ 112
9.1 為項目搭建腳手架 ................................ 112
9.2 NPM 必不可少 ...................................... 113
9.3 生成器 ............................... 113
9.3.1 版本控制 .................................... 115
9.3.2 添加文件、更新以及首次提交 .................. 116
9.4 小結 ........................................... 119
第10章 AngularJS 與測試 ....................... 120
10.1 視圖與控制器 ...................................... 122
10.2 遠程數據源.......................................... 124
10.3 路由 ........................................... 126
10.4 路由參數 ..................................... 126
10.5 應用程序測試 ...................................... 128
10.5.1 單元測試 ................................ 128
10.5.2 使用Protractor 進行端到端測試 .... 132
10.6 小結 ................................... 134
第11章 JavaScript 的未來 ....................... 135
11.1 ECMAScript 的過去和未來 ................ 135
11.2 使用ECMAScript Harmony ................ 136
11.2.1 Harmony 資源 ........................ 136
11.2.2 使用Harmony ........................ 137
11.3 ECMAScript Harmony 語言特性 ........ 141
11.3.1 箭頭函數 ................................ 142
11.3.2 類 ........................................... 143
11.3.3 Promise .................................. 144
11.3.4 模塊 ....................................... 146
11.3.5 類型擴展 ................................ 148
11.3.6 全新的聚合類型 .................... 151
11.4 小結 ......................................... 153
附錄A DOM 參考........................................ 154
1.1 JavaScript 的歷程.......................... 1
1.2 現代JavaScript ............................3
1.2.1 庫的崛起 ....................................... 4
1.2.2 移動,可不只說說而已 ................ 5
1.2.3 何去何從 ....................................... 5
1.3 后續內容.............................................. 6
1.4 小結.................................................. 7
第2章 特性、函數和對象 ............................ 8
2.1 語言特性 .......................................... 8
2.1.1 引用和值 ....................................... 8
2.1.2 作用域 .......................................... 10
2.1.3 上下文 .......................................... 12
2.1.4 閉包 .............................................. 13
2.1.5 函數重載與類型檢查 ................... 16
2.2 新的對象工具 .......................................... 19
2.2.1 對象 .............................................. 19
2.2.2 修改對象 ...................................... 19
2.3 小結 ................................................ 22
第3章 創建可重用代碼 ............................... 23
3.1 面向對象的JavaScript ............................ 23
3.1.1 繼承 .............................................. 27
3.1.2 成員可見性 .................................. 31
3.1.3 面向對象JavaScript 的未來 ......... 33
3.2 打包JavaScript ...................................... 33
3.2.1 命名空間 ...................................... 33
3.2.2 模塊模式 ...................................... 34
3.2.3 立即調用的函數表達式 ............. 36
3.3 小結 ................................................ 38
第4章 JavaScript 代碼調試 ....................... 39
4.1 調試工具 .......................................... 39
4.1.1 控制台 .......................................... 40
4.1.2 利用控制台的特性 ....................... 42
4.2 調試器 .......................................... 43
4.2.1 DOM 探查器 ................................ 44
4.2.2 網絡分析器 .................................. 44
4.2.3 時間線 .......................................... 45
4.2.4 側寫器 .......................................... 45
4.3 小結 ........................................ 47
第5章 文檔對象模型 ................................... 48
5.1 文檔對象模型簡介 .................................. 48
5.1.1 DOM 結構 .................................... 50
5.1.2 DOM 中的相互關系..................... 51
5.2 訪問DOM 元素 ....................................... 53
5.3 等待HTML DOM 載入 ........................... 56
5.3.1 等待頁面載入 .............................. 56
5.3.2 等待正確的事件 .......................... 56
5.4 獲取元素內容 .......................................... 57
5.4.1 獲取元素的文本內容 ................... 57
5.4.2 獲取元素的HTML ...................... 59
5.5 使用元素特性 .......................................... 59
5.6 修改DOM ................................ 63
5.6.1 使用DOM 創建節點 .................... 63
5.6.2 插入DOM .................................... 63
5.6.3 向DOM 中插入HTML ............... 64
5.6.4 從DOM 中刪除節點 .................... 66
5.6.5 處理DOM 中的空白字符 ............ 67
5.6.6 簡單的DOM 導航 ....................... 68
5.7 小結 ....................................... 70
第6章 事件 ..................................... 71
6.1 JavaScript 事件簡介 ................................ 71
6.1.1 棧、隊列和事件循環 ................... 71
6.1.2 事件階段 ...................................... 72
6.2 綁定事件偵聽器 ...................................... 73
6.2.1 傳統式綁定 .................................. 74
6.2.2 DOM 綁定:W3C ........................ 77
6.2.3 解除事件綁定 .............................. 78
6.3 常見的事件特性 ...................................... 79
6.3.1 事件對象 ...................................... 79
6.3.2 取消事件冒泡 .............................. 80
6.3.3 屏蔽瀏覽器的默認行為 ............... 81
6.3.4 事件委托 ...................................... 82
6.4 事件對象 .................................. 83
6.4.1 普通屬性 ...................................... 83
6.4.2 鼠標屬性 ...................................... 84
6.4.3 鍵盤屬性 ...................................... 86
6.5 事件類型 ...................................... 86
6.5.1 頁面事件 ...................................... 87
6.5.2 UI 事件 ......................................... 88
6.5.3 鼠標事件 ...................................... 88
6.5.4 鍵盤事件 ...................................... 89
6.5.5 表單事件 ...................................... 90
6.5.6 事件可訪問性 .............................. 90
6.6 小結 ............................................... 91
第7章 JavaScript 與表單驗證 .................. 92
7.1 HTML 與CSS 表單驗證 ......................... 92
7.2 JavaScript 表單驗證 ................................ 95
7.2.1 驗證與用戶 .................................. 98
7.2.2 驗證事件 ...................................... 99
7.3 定制驗證 .............................................101
7.4 小結 ................................... 102
第8章 Ajax 入門 ......................................... 103
8.1 使用Ajax ................................. 104
8.1.1 H T T P 請求 ................................. 104
8.1.2 H T T P 響應 ................................. 109
8.2 小結 .................................. 111
第9章 Web 生產工具 ................................ 112
9.1 為項目搭建腳手架 ................................ 112
9.2 NPM 必不可少 ...................................... 113
9.3 生成器 ............................... 113
9.3.1 版本控制 .................................... 115
9.3.2 添加文件、更新以及首次提交 .................. 116
9.4 小結 ........................................... 119
第10章 AngularJS 與測試 ....................... 120
10.1 視圖與控制器 ...................................... 122
10.2 遠程數據源.......................................... 124
10.3 路由 ........................................... 126
10.4 路由參數 ..................................... 126
10.5 應用程序測試 ...................................... 128
10.5.1 單元測試 ................................ 128
10.5.2 使用Protractor 進行端到端測試 .... 132
10.6 小結 ................................... 134
第11章 JavaScript 的未來 ....................... 135
11.1 ECMAScript 的過去和未來 ................ 135
11.2 使用ECMAScript Harmony ................ 136
11.2.1 Harmony 資源 ........................ 136
11.2.2 使用Harmony ........................ 137
11.3 ECMAScript Harmony 語言特性 ........ 141
11.3.1 箭頭函數 ................................ 142
11.3.2 類 ........................................... 143
11.3.3 Promise .................................. 144
11.3.4 模塊 ....................................... 146
11.3.5 類型擴展 ................................ 148
11.3.6 全新的聚合類型 .................... 151
11.4 小結 ......................................... 153
附錄A DOM 參考........................................ 154
網路書店
類別
折扣
價格
-
新書87折$235