內容簡介
第5版針對Ajax和Web 2.0技術進行了全新的改版。和上一版相比,更新的內容較多,總體上接近整個篇幅的1/2,而這也正是本書姍姍來遲的原因之一。具體來說,第5版在以下部分有所更新:
第一部分關於函式的一章(第8章)進行了擴展,特彆強調了嵌套的函式和閉包。新增了自定義類、名字空間、腳本化Java、嵌入JavaScript等內容。
第二部分最大的改變是增加了如下的大量新內容。包括第19章“cookie和客戶端持久性”,第20章“腳本化HTTP”,第21章“JavaScipt和XML”,第22章“腳本化客戶端圖形”,第23章“腳本化Java Applets和Flash電影”。
第三部分幾乎沒有太大變化。而第四部分增加了對DOM API的介紹。
總體上分為“基礎知識點介紹”和“參考指南”兩部分,這是本書的一大特色。從之前版本受歡迎的程度來看,這種結構得到了讀者相當大的認可,滿足了他們學習基礎知識和參考查閱難點的雙重需要。而這也是其他同類圖書所不及的。
作品目錄
前言1
第1章 JavaScript概述5
1.1 JavaScript語言核心8
1.2 客戶端JavaScript12
第一部分 JavaScript 語言核心
第2章 詞法結構25
2.1 字元集25
2.2 注釋27
2.3 直接量27
2.4 標識符和保留字28
2.5 可選的分號30
第3章 類型、值和變數32
3.1 數字34
3.2 文本38
3.3 布爾值43
3.4 null和undefined44
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 對象和數組的初始化表達式61
4.3 函式定義表達式62
4.4 屬性訪問表達式63
4.5 調用表達式64
4.6 對象創建表達式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 循環101
5.6 跳轉106
5.7 其他語句類型113
5.8 JavaScript語句小結116
第6章 對象118
6.1 創建對象120
6.2 屬性的查詢和設定123
6.3 刪除屬性127
6.4 檢測屬性128
6.5 枚舉屬性130
6.6 屬性getter和setter132
6.7 屬性的特性134
6.8 對象的三個屬性138
6.9 序列化對象141
6.10 對象方法142
第7章 數組144
7.1 創建數組 144
7.2 數組元素的讀和寫145
7.3 稀疏數組147
7.4 數組長度148
7.5 數組元素的添加和刪除149
7.6 數組遍歷149
7.7 多維數組151
7.8 數組方法152
7.9 ECMAScript 5中的數組方法 156
7.10 數組類型160
7.11 類數組對象161
7.12 作為數組的字元串163
第8章 函式165
8.1 函式定義166
8.2 函式調用168
8.3 函式的實參和形參173
8.4 作為值的函式178
8.5 作為命名空間的函式181
8.6 閉包182
8.7 函式屬性、方法和構造函式188
8.8 函式式編程194
第9章 類和模組201
9.1 類和原型202
9.2 類和構造函式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 函式簡寫285
11.6 多catch 從句285
11.7 E4X: ECMAScript for XML286
第12章 伺服器端JavaScript290
12.1 用Rhino腳本化Java291
12.2 用Node實現異步I/O297
第二部分 客戶端JavaScript
第13章 Web瀏覽器中的JavaScript309
13.1 客戶端JavaScript309
13.2 在HTML里嵌入JavaScript313
13.3 JavaScript程式的執行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 創建、插入和刪除節點382
15.7 例子:生成目錄表387
15.8 文檔和元素的幾何形狀和滾動389
15.9 HTML表單396
15.10 其他文檔特性404
第16章 腳本化CSS410
16.1 CSS概覽411
16.2 重要的CSS屬性416
16.3 腳本化內聯樣式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章 腳本化HTTP484
18.1 使用XMLHttpRequest487
18.2 藉助
作者簡介
David畢業於麻省理工學院,獲得計算機科學與工程學位。他和妻子和孩子一起生活在西雅圖和溫哥華之間的美國太平洋西北海岸。
David Flanagan是一名程式設計師,也是一名作家。他在O’Reilly出版的其他暢銷書還包括《JavaScript Pocket Reference》、《The Ruby Programming Language》、以及《Java in a Nutshell》。