第1章 Hello JavaScript! 1
1.1 “Hello World!”程序 1
1.2 第二個“Hello World!”程序 2
1.2.1 script標簽 3
1.2.2 JavaScript、ECMAScript和JScript的比較 5
1.2.3 在JavaScript中定義函數 6
1.2.4 事件處理程序 6
1.2.5 瀏覽器對象document 7
1.2.6 property操作符 8
1.2.7 var關鍵字和作用域 9
1.2.8 JavaScript語句 9
1.2.9 注釋 10
1.2.10 你沒看到的:HTML注釋和CDATA區段 10
1.3 JavaScript文件 12
1.4 可訪問性和JavaScript最佳實踐 14
1.4.1 可訪問性指南 14
1.4.2 noscript 15
第2章 JavaScript數據類型和變量 17
2.1 標識變量 17
2.1.1 命名規範 19
2.2 基本類型 21
2.3 String數據類型 22
2.3.1 字符串轉義序列 22
2.3.2 字符串編碼 23
2.3.3 字符串轉換 25
2.4 Boolean數據類型 27
2.5 Number數據類型 28
2.6 null和undefined變量 31
2.7 常量:已命名數值,但不是變量 33
2.8 知識測驗 33
2.9 測驗答案 34
第3章 運算符和語句 36
3.1 JavaScript語句的格式 36
3.2 賦值語句 37
3.2.1 算術運算符 38
3.2.2 一元運算符 39
3.2.3 運算符的優先級 40
3.2.4 帶運算符的快捷賦值 41
3.2.5 位操作運算符 41
3.3 條件語句和程序流 43
3.3.1 if…else條件語句 45
3.3.2 switch條件語句 46
3.4 條件運算符 49
3.4.1 相等和恒等運算符 49
3.4.2 其他關係運算符 52
3.4.3 JavaScript中唯一的三元運算符 54
3.5 邏輯運算符 54
3.6 高級語句:循環 56
3.6.1 while循環 56
3.6.2 do…while循環 57
3.6.3 for循環 58
3.7 知識測驗 60
3.8 測驗答案 61
第4章 JavaScript對象 63
4.1 基本數據類型對象 63
4.2 布爾值、數字和字符串 65
4.2.1 Boolean對象 65
4.2.2 Number對象、靜態屬性及實例方法 66
4.2.3 String對象 69
4.3 正則錶達式和RegExp 74
4.3.1 RegExp方法:test和exec 74
4.3.2 正則錶達式的應用 77
4.4 Date對象 81
4.5 Math對象 84
4.5.1 Math的屬性 85
4.5.2 Math的方法 85
4.6 JavaScript數組 87
4.6.1 FIFO隊列 89
4.7 知識測驗 92
4.8 測驗答案 92
第5章 函數 94
5.1 聲明式的函數 94
5.1.1 函數的命名約定和大小 95
5.1.2 函數返迴值和參數 95
5.2 匿名函數 97
5.3 函數字麵量 100
5.3.1 函數和遞歸 101
5.3.2 嵌套函數、函數閉包與內存泄漏 103
5.3.3 迴調函數 106
5.4 函數類型小結 109
5.5 函數作用域 109
5.6 函數就是一個對象 111
5.7 知識測驗 111
5.8 測驗答案 111
第6章 排錯、調試及跨瀏覽器問題 113
6.1 調試的簡單方法 113
6.2 瀏覽器提供的開發和調試工具 113
6.2.1 Firefox和Firebug 114
6.2.2 使用console.log 117
6.2.3 Firefox、Web Developer toolkit和NoScript 119
6.2.4 Opera和Dragonfly 119
6.2.5 Safari/WebKit和Web Inspector 121
6.2.6 Internet Explorer 122
6.3 處理瀏覽器之間的差異 123
6.3.1 對象檢測 123
6.3.2 對象檢測失敗的場閤 126
6.3.3 DOCTYPE、X-UA-Compatible和Quirks模式 129
6.3.4 阻止嚮後兼容性:IE 8.0中的元標簽http-equiv 130
6.4 知識測驗 131
6.5 測驗答案 131
第7章 捕獲事件 132
7.1 事件 132
7.2 0級事件處理 133
7.2.1 Event對象 135
7.2.2 事件冒泡 138
7.2.3 事件處理程序和this 141
7.3 DOM Level 2事件模型 142
生成事件 148
7.4 知識測驗 149
7.5 測驗答案 150
第8章 錶單、錶單事件及驗證 151
8.1 為錶單添加事件:不同方法 151
8.1.1 跨瀏覽器兼容的事件處理 152
8.1.2 取消一個事件 153
8.2 選擇列錶框元素 154
8.2.1 動態修改選擇列錶框 156
8.2.2 選擇列錶框和自動選擇 158
8.3 單選按鈕和復選框 160
8.4 文本框、文本區域、密碼框和隱藏錶單字段的輸入元素 164
文本驗證 166
8.5 input元素字段和基於正則錶達式的驗證 168
8.6 錶單、沙箱和XSS 171
8.7 知識測驗 172
8.8 測驗答案 172
第9章 瀏覽器之謎 174
9.1 瀏覽器結構概述 174
9.2 window對象 175
9.3 窗口的創建和控製 176
9.3.1 對話框:alert、confirm和prompt 176
9.3.2 創建自定義窗口 177
9.3.3 修改窗口 180
9.4 frame對象 183
9.4.1 location對象 185
9.4.2 基於iframe的遠程腳本 187
9.5 添加並控製定時器 191
9.6 history、screen和navigator對象 193
9.6.1 history對象 193
9.6.2 screen對象 194
9.6.3 navigator對象 195
9.6.4 history、screen和navigator屬性的實際應用 195
9.7 document對象 198
9.7.1 鏈接 198
9.7.2 圖像 200
9.8 innerHTML 201
9.9 知識測驗 203
9.10 測驗答案 203
第10章 cookie和其他客戶端存儲技術 205
10.1 JavaScript沙箱與cookie安全 205
10.1.1 同源安全策略 205
10.1.2 使用document.domain 206
10.2 cookie全解 207
cookie的保存和讀取 207
10.3 Flash共享對象、Google Gears和HTML5 DOM存儲 212
10.4 知識測驗 215
10.5 測驗答案 215
第11章 DOM或以樹型展示的Web頁麵 217
11.1 兩個接口的傳說 217
11.2 DOM HTML API 218
11.2.1 DOM HTML對象及其屬性 219
11.2.2 DOM(HTML)集閤 223
11.3 理解DOM:Core API 226
11.3.1 DOM樹 227
11.3.2 節點屬性和方法 228
11.3.3 DOM核心文檔對象 232
11.4 元素及其上下文內訪問 235
11.5 修改文檔樹 237
11.6 知識測驗 241
11.7 測驗答案 242
第12章 動態頁麵 243
12.1 JavaScript、CSS和DOM 243
樣式屬性 243
12.2 字體和文本 247
12.2.1 字體樣式屬性 247
12.2.2 文本屬性 248
12.3 定位和動畫 251
12.3.1 動態定位 251
12.3.2 拖放操作 255
12.4 大小和修剪 259
12.4.1 溢齣和動態內容 259
12.4.2 修剪矩形 262
12.5 顯示、可視性和不透明性 264
12.5.1 實現正確效果的正確工具 264
12.5.2 即時信息 265
12.6 再探DOM:可摺疊錶單、查詢選擇器和類名 267
12.7 知識測驗 272
12.8 測驗答案 272
第13章 創建自定義JavaScript對象 274
13.1 JavaScript對象和原型 274
原型 274
13.2 創建自定義JavaScript對象 276
13.2.1 深入函數 277
13.2.2 公有和私有屬性以及何時使用兩種屬性 280
13.2.3 getter和setter 280
13.3 對象封裝 282
13.4 構造函數鏈和JavaScript繼承 289
13.5 一次性對象 291
13.6 對象庫:為復用而封裝對象 294
13.7 高級錯誤處理技術(try、throw和catch) 296
13.8 知識測驗 299
13.9 測驗答案 299
第14章 使用Ajax 301
14.1 Ajax的工作原理 301
14.2 Hello Ajax World 302
14.3 XMLHttpRequest對象及請求的準備與發送 306
14.3.1 對象,對象,什麼擁有對象 306
14.3.2 XMLHttpRequest對象的方法 308
14.4 處理Web請求的返迴結果 311
14.4.1 檢查Ajax請求的readyState和status值 311
14.4.2 處理Web請求的結果 312
14.5 Ajax:不僅是代碼 315
14.5.1 Ajax的動態特性 315
14.5.2 Ajax的可訪問性和適度降格 315
14.5.3 安全和工作區 317
14.6 JavaScript和Ajax庫 318
14.7 知識測驗 320
14.8 測驗答案 321
第15章 Ajax數據:XML或JSON 322
15.1 XML格式的Ajax結果 322
15.1.1 數據的MIME類型 322
15.1.2 在服務器端生成XML數據 323
15.1.3 在客戶端處理XML數據 326
15.2 JSON 330
15.2.1 簡單的JSON應用程序 330
15.2.2 JSON對象 334
15.3 知識測驗 338
15.4 測驗答案 340
· · · · · · (
收起)