前言 1
第1章 JavaScript概述 5
1.1 JavaScript語言核心 8
1.2 客戶端JavaScript 12
第一部分 JavaScript 語言核心
第2章 詞法結構 25
2.1 字符集 25
2.2 注釋 27
2.3 直接量 27
2.4 標識符和保留字 28
2.5 可選的分號 30
第3章 類型、值和變量 32
3.1 數(shù)字 34
3.2 文本 38
3.3 布爾值 43
3.4 null和undefined 44
3.5 全局對象 45
3.6 包裝對象 46
3.7 不可變的原始值和可變的對象引用 47
3.8 類型轉換 48
3.9 變量聲明 55
3.10 變量作用域 56
第4章 表達式和運算符 60
4.1 原始表達式 60
4.2 對象和數(shù)組的初始化表達式 61
4.3 函數(shù)定義表達式 62
4.4 屬性訪問表達式 63
4.5 調用表達式 64
4.6 對象創(chuàng)建表達式 64
4.7 運算符概述 65
4.8 算術表達式 69
4.9 關系表達式 74
4.10 邏輯表達式 79
4.11 賦值表達式 81
4.12 表達式計算 83
4.13 其他運算符 86
第5章 語句 91
5.1 表達式語句 92
5.2 復合語句和空語句 92
5.3 聲明語句 94
5.4 條件語句 96
5.5 循環(huán) 101
5.6 跳轉 106
5.7 其他語句類型 113
5.8 JavaScript語句小結 116
第6章 對象 118
6.1 創(chuàng)建對象 120
6.2 屬性的查詢和設置 123
6.3 刪除屬性 127
6.4 檢測屬性 128
6.5 枚舉屬性 130
6.6 屬性getter和setter 132
6.7 屬性的特性 134
6.8 對象的三個屬性 138
6.9 序列化對象 141
6.10 對象方法 142
第7章 數(shù)組 144
7.1 創(chuàng)建數(shù)組 144
7.2 數(shù)組元素的讀和寫 145
7.3 稀疏數(shù)組 147
7.4 數(shù)組長度 148
7.5 數(shù)組元素的添加和刪除 149
7.6 數(shù)組遍歷 149
7.7 多維數(shù)組 151
7.8 數(shù)組方法 152
7.9 ECMAScript 5中的數(shù)組方法 156
7.10 數(shù)組類型 160
7.11 類數(shù)組對象 161
7.12 作為數(shù)組的字符串 163
第8章 函數(shù) 165
8.1 函數(shù)定義 166
8.2 函數(shù)調用 168
8.3 函數(shù)的實參和形參 173
8.4 作為值的函數(shù) 178
8.5 作為命名空間的函數(shù) 181
8.6 閉包 182
8.7 函數(shù)屬性、方法和構造函數(shù) 188
8.8 函數(shù)式編程 194
第9章 類和模塊 201
9.1 類和原型 202
9.2 類和構造函數(shù) 203
9.3 JavaScript中Java式的類繼承 207
9.4 類的擴充 210
9.5 類和類型 212
9.6 JavaScript中的面向對象技術 217
9.7 子類 230
9.8 ECMAScript 5 中的類 239
9.9 模塊 248
第10章 正則表達式的模式匹配 253
10.1 正則表達式的定義 253
10.2 用于模式匹配的String方法 261
10.3 RegExp對象 263
第11章 JavaScript的子集和擴展 267
11.1 JavaScript的子集 268
11.2 常量和局部變量 271
11.3 解構賦值 274
11.4 迭代 276
11.5 函數(shù)簡寫 285
11.6 多catch 從句 285
11.7 E4X: ECMAScript for XML 286
第12章 服務器端JavaScript 290
12.1 用Rhino腳本化Java 291
12.2 用Node實現(xiàn)異步I/O 297
第二部分 客戶端JavaScript
第13章 Web瀏覽器中的JavaScript 309
13.1 客戶端JavaScript 309
13.2 在HTML里嵌入JavaScript 313
13.3 JavaScript程序的執(zhí)行 319
13.4 兼容性和互用性 326
13.5 可訪問性 333
13.6 安全性 334
13.7 客戶端框架 339
第14章 Window對象 341
14.1 計時器 342
14.2 瀏覽器定位和導航 343
14.3 瀏覽歷史 345
14.4 瀏覽器和屏幕信息 346
14.5 對話框 348
14.6 錯誤處理 351
14.7 作為Window對象屬性的文檔元素 351
14.8 多窗口和窗體 353
第15章 腳本化文檔 361
15.1 DOM概覽 362
15.2 選取文檔元素 364
15.3 文檔結構和遍歷 371
15.4 屬性 375
15.5 元素的內容 378
15.6 創(chuàng)建、插入和刪除節(jié)點 382
15.7 例子:生成目錄表 387
15.8 文檔和元素的幾何形狀和滾動 389
15.9 HTML表單 396
15.10 其他文檔特性 404
第16章 腳本化CSS 410
16.1 CSS概覽 411
16.2 重要的CSS屬性 416
16.3 腳本化內聯(lián)樣式 427
16.4 查詢計算出的樣式 431
16.5 腳本化CSS類 433
16.6 腳本化樣式表 436
第17章 事件處理 440
17.1 事件類型 442
17.2 注冊事件處理程序 451
17.3 事件處理程序的調用 454
17.4 文檔加載事件 459
17.5 鼠標事件 461
17.6 鼠標滾輪事件 465
17.7 拖放事件 468
17.8 文本事件 475
17.9 鍵盤事件 478
第18章 腳本化HTTP 484
18.1 使用XMLHttpRequest 487
18.2 借助