原書名:JavaScript by Example (2nd Edition)
原出版社:Prentice Hall
譯者:曹曉立劉曉娜趙文婧楊艷斌
叢書名:圖靈程式設計叢書
出版社:人民郵電出版社
ISBN:9787115262912
出版日期:2011 年10月
開本:16開
頁碼:665
版次:2-1內容簡介
javascript 是目前最流行和最重要的web 程式語言。本書從javascript 的編程結構開始,循序漸進地講述了javascript 及相關的css、w3c dom、cookie、正則表達式和匹配模式,以及功能強大的ajax。書中採用了大量課堂實踐示例,附以詳盡的代碼行解釋和實際結果輸出,將javascript 基礎知識與高級技巧完美地展現出來。
《javascript詳解:第2版》適合對web 開發和設計感興趣的人員閱讀,也可作為高校相關課程的教材.
《javascript詳解:第2版》
第1 章 javascript 簡介 1
1.1 javascript 是什麼 1
1.2 javascript 不是什麼 2
1.3 javascript 的用處 3
1.4 javascript 及其在web 頁面中的位置 3
1.5 ajax 是什麼 5
1.6 javascript 是什麼樣子的 6
1.7 javascript 及其在web 開發中承擔的角色 7
1.8 javascript 和事件 9
1.9 標準化javascript 和w3c 11
1.9.1 javascript 對象 12
1.9.2 文檔對象模型 12
1.10 關於瀏覽器 13
1.10.1 javascript 的版本 14
1.10.2 你的瀏覽器遵循標準嗎 16
1.10.3 瀏覽器是否已啟用javascript 16
1.11 javascript 代碼放在哪兒 17
1.12 驗證標籤 20
1.12.1 w3c 驗證工具 21
.1.12.2 validome 驗證工具 21
1.13 應知應會 22
練習 23
第2 章 腳本的安裝 24
2.1 html 文檔與javascript 24
2.2 語法細節 27
2.2.1 區分大小寫問題 27
2.2.2 自由形式及保留字 27
2.2.3 語句及分號 28
2.2.4 注釋 28
2.2.5 [script]標籤 29
2.3 生成html 並輸出顯示 30
2.3.1 字元串及字元串串聯 30
2.3.2 write()及writeln()方法 31
2.4 關於調試 33
2.5 調試工具 33
2.5.1 firefox 33
2.5.2 在internet explorer 8 中調試 36
2.5.3 javascript:url 協定 37
2.6 javascript 與舊瀏覽器或受限的瀏覽器 37
2.7 應知應會 40
練習 41
第3 章 數據類型、字面量和變數 42
3.1 數據類型 42
3.1.1 基本數據類型 42
3.1.2 複合數據類型 47
3.2 變數 47
3.2.1 有效變數名 48
3.2.2 聲明和初始化變數 48
3.2.3 動態或寬鬆類型語言 50
3.2.4 變數作用域 52
3.2.5 變數的拼接 52
3.3 常量 54
3.4 要注意的bug 55
3.5 應知應會 55
練習 56
第4 章 對話框 57
4.1 與用戶互動 57
4.1.1 alert()方法 57
4.1.2 prompt()方法 59
4.1.3 confirm()方法 61
4.2 應知應會 62
練習 63
第5 章 運算符 64
5.1 javascript 運算符和表達式 64
5.1.1 賦值運算符 64
5.1.2 優先權和結合性 65
5.2 運算符類型 68
5.2.1 算術運算符 68
5.2.2 快捷賦值運算符 69
5.2.3 遞增運算符和遞減運算符 70
5.2.4 拼接運算符 72
5.2.5 比較運算符 73
5.2.6 邏輯運算符 78
5.2.7 條件運算符 83
5.2.8 位運算符 84
5.3 數字、字元串還是布爾值?數據類型轉換 87
5.3.1 parseInt()函式 88
5.3.2 parseFloat()函式 90
5.3.3 eval()函式 91
5.4 特殊運算符 92
5.5 應知應會 93
練習 93
第6 章 條件選擇 95
6.1 控制結構、塊及複合語句 95
6.2 條件 95
6.2.1 if/else 96
6.2.2 if/else if 98
6.2.3 switch 99
6.3 循環 102
6.3.1 while 循環 102
6.3.2 do/while 循環 103
6.3.3 for 循環 104
6.3.4 for/in 循環 105
6.3.5 使用break 和continue控制循環 105
6.3.6 嵌套循環及標籤 107
6.4 應知應會 109
練習 110
第7 章 函式 112
7.1 什麼是函式 112
7.1.1 函式聲明和調用 112
7.1.2 返回值 119
7.1.3 匿名函式變數 121
7.1.4 閉包 124
7.1.5 遞歸 125
7.1.6 函式是對象 129
7.2 調試技巧 129
7.2.1 函式語法 129
7.2.2 使用try/catch 和throw捕捉異常 131
7.3 應知應會 134
練習 134
第8 章 對象 136
8.1 什麼是對象 136
8.1.1 對象及點語法 137
8.1.2 使用構造函式創建對象 137
8.1.3 對象的屬性 139
8.1.4 對象的方法 140
8.2 類和用戶自定義函式 142
8.2.1 什麼是類 142
8.2.2 什麼是this 142
8.2.3 內聯函式作為對象的方法 145
8.3 對象字面量 146
8.4 操作對象 149
8.4.1 with 關鍵字 149
8.4.2 for/in 循環 151
8.5 通過原型擴展對象 152
8.5.1 使用prototype 屬性為對象添加屬性 154
8.5.2 原型查找鏈 155
8.5.3 使用原型為對象添加方法 157
8.5.4 所有對象都有的屬性和方法 159
8.5.5 創建子類及繼承 162
8.6 應知應會 164
練習 164
第9 章 javascript 核心對象 166
9.1 什麼是核心對象 166
9.2 數組對象 166
9.2.1 數組的聲明及填充 167
9.2.2 array 對象屬性 171
9.2.3 關聯數組 173
9.2.4 嵌套數組 175
9.3 數組方法 178
9.4 date 對象 184
9.4.1 date 對象方法的使用 185
9.4.2 操縱日期及時間 187
9.4.3 通過prototype 屬性自定義date 對象 188
9.5 math 對象 190
9.5.1 向上取整及向下取整 192
9.5.2 生成隨機數 193
9.5.3 wrapper 對象 194
9.5.4 string 對象 195
9.5.5 number 對象 205
9.5.6 boolean 對象 207
9.5.7 function 對象 209
9.5.8 再論關鍵字with 210
9.6 應知應會 211
練習 212
第10 章 瀏覽器對象模型:bom 214
10.1 javascript 及瀏覽器對象模型 214
10.1.1 Navigator 對象的使用 215
10.1.2 window 對象的使用 225
10.1.3 創建定時事件 231
10.1.4 frame 的使用 240
10.1.5 location 對象 249
10.1.6 history 對象 253
10.1.7 screen 對象 256
10.2 應知應會 258
練習 258
第11 章 表單及輸入設備的使用 259
11.1 文檔對象模型及傳統dom 0 259
11.2 javascript 層次結構 259
11.3 關於html 表單 265
11.4 javascript 與form 對象 271
11.4.1 為表單及其輸入類型(控制項)命名 271
11.4.2 表單中的傳統dom 274
11.4.3 為表單及按鈕命名 277
11.4.4 提交填寫完成的表單 281
11.4.5 this 關鍵字 289
11.4.6 submit()及reset()方法 291
11.5 輸入設備(控制項)編程 295
11.6 應知應會 324
練習 324
第12 章 圖片與連結 326
12.1 圖片簡介 326
12.1.1 重溫html 中的圖片 326
12.1.2 javascript 中的image對象 328
12.2 回顧連結 329
12.3 圖片地圖 333
12.3.1 使用src 屬性動態替換圖片 336
12.3.2 預載入圖片和image()構造函式 339
12.3.3 隨機顯示圖片和onclick事件 341
12.3.4 圖片地圖與javascript 343
12.4 縮放圖片以適應視窗 345
12.5 幻燈簡介 347
12.5.1 帶有控制按鈕的簡單幻燈展示 348
12.5.2 可單擊的圖片幻燈展示 351
12.6 動畫和定時器 354
12.6.1 變換圖片位置 354
12.6.2 改變圖片的高度和寬度屬性 355
12.7 應知應會 356
練習 357
第13 章 事件處理 358
13.1 事件處理函式介紹 358
13.2 事件處理的內聯模型 358
13.2.1 html 和事件處理函式 359
13.2.2 設定事件處理函式 361
13.2.3 返回值 363
13.2.4 javascript 對象方法和事件 364
13.3 處理視窗事件或框架事件 366
13.3.1 onload 和onunload事件 366
13.3.2 onfocus 和onblur 事件函式 368
13.3.3 onresize 事件處理函式 371
13.4 滑鼠事件處理 373
13.4.1 怎樣使用滑鼠事件 374
13.4.2 滑鼠事件和圖像——翻轉 376
13.4.3 通過滑鼠事件創建幻燈片 376
13.5 處理連結事件 379
13.6 處理表單事件 380
13.6.1 按鈕 381
13.6.2 表單和按鈕中的this 關鍵字 382
13.6.3 表單和onclick 事件處理函式 383
13.6.4 表單和onfocus、onblur事件處理函式 384
13.6.5 表單和onchange 事件處理函式 386
13.6.6 表單和onsubmit 事件處理函式 387
13.6.7 html 事件處理函式和javascript 事件方法 391
13.6.8 OnError 事件 393
13.7 event 對象 394
13.7.1 捕獲和冒泡(滴漏和冒泡) 394
13.7.2 事件對象屬性 395
13.7.3 使用事件對象屬性 396
13.7.4 將事件傳遞給javascript函式 398
13.7.5 滑鼠坐標 400
13.7.6 按鍵事件 404
13.8 處理事件的腳本模型 407
13.9 應知應會 412
練習 412
第14 章 css 與javascript 414
14.1 什麼是css 414
14.2 什麼是樣式表 414
14.2.1 什麼是兼容css 的瀏覽器 415
14.2.2 樣式表的工作原理 415
14.3 css 程式結構 417
14.3.1 注釋 417
14.3.2 組合 417
14.4 常用樣式表屬性 418
14.4.1 計量單位 420
14.4.2 使用顏色 421
14.4.3 使用字型 423
14.4.4 使用文本 425
14.4.5 使用背景和圖片 427
14.4.6 使用邊距和框線 429
14.5 樣式表類型 432
14.5.1 嵌入式樣式表和[style]標籤 432
14.5.2 內聯樣式和[style]屬性 435
14.6 連結的樣式表 436
14.6.1 [link]標籤 436
14.6.2 使用@import 導入 438
14.7 創建樣式類 438
14.7.1 用類設定簡單表格樣式 439
14.7.2 使用特定類選擇器 441
14.8 id 選擇器和id 屬性 443
14.9 使用[span]標籤重寫或添加樣式 444
14.9.1 [span]標籤和style屬性 445
14.9.2 [span]標籤和class屬性 446
14.9.3 繼承和上下文選擇器 447
14.10 定位元素和層 449
14.10.1 絕對定位 450
14.10.2 [div]容器 455
14.10.3 絕對定位 455
14.10.4 相對定位 457
14.10.5 z 索引和三維 458
14.11 如何與javascript 融合 459
14.11.1 什麼是dhtml 459
14.11.2 javascript 如何操作樣式表 459
14.11.3 style 對象 462
14.11.4 ClassName 屬性 470
14.11.5 下拉選單和提示框 472
14.12 應知應會 477
練習 478
第15 章 w3c dom 與javascript 479
15.1 w3c dom 479
15.2 理解dom 節點 480
15.3 節點 481
15.3.1 父節點和子節點 482
15.3.2 兄弟節點 482
15.3.3 nodename 和nodetype屬性 483
15.3.4 空白bug 483
15.4 遍歷dom 484
15.5 dom 查看器 486
15.6 查詢dom 的捷徑 487
15.6.1 document.getelement-byid()方法 487
15.6.2 document.getelements-bytagname()方法 490
15.6.3 對應於html 屬性的javascript 屬性 491
15.7 dom 的修改(追加、複製和刪除節點) 493
15.7.1 innerhtml 屬性和元素的內容 493
15.7.2 更改元素的內容 495
15.7.3 使用dom 創建新元素 496
15.7.4 在節點前插入 498
15.7.5 為節點創建屬性 499
15.7.6 dom 回顧:創建部落格 501
15.7.7 使用dom 創建表格 504
15.7.8 複製節點 507
15.7.9 刪除節點 512
15.7.10 利用節點實現文本滾動 515
15.8 事件處理和dom 517
15.8.1 html 內聯方式 517
15.8.2 腳本方法 517
15.8.3 dom 方法 518
15.8.4 冒泡和捕獲 518
15.9 w3c 模型中的事件監聽器 522
15.9.1 添加事件 522
15.9.2 註冊多個事件 524
15.9.3 刪除事件 526
15.9.4 microsoft internet explorer中的事件監聽器 528
15.9.5 回顧事件屬性 530
15.10 不唐突的javascript 533
15.11 應知應會 539
練習 540
第16 章 cookie 543
16.1 什麼是cookie 543
16.1.1 cookie 的組成 545
16.1.2 cookie 的屬性 546
16.2 使用javascript 創建cookie 547
16.2.1 cookie 對象 548
16.2.2 設定cookie 屬性 548
16.2.3 創建cookie 550
16.2.4 從伺服器獲取cookie 信息 552
16.2.5 刪除cookie 554
16.2.6 使用瀏覽器刪除cookie 556
16.3 應知應會 557
練習 557
第17 章 正則表達式和模式匹配 558
17.1 什麼是正則表達式 558
17.2 創建正則表達式 560
17.2.1 字面量方式 560
17.2.2 構造函式 560
17.2.3 測試正則表達式 561
17.2.4 regexp 對象的屬性 564
17.3 使用字元串的正則表達式方法 566
17.3.1 match()方法 566
17.3.2 search()方法 567
17.3.3 replace()方法 568
17.3.4 split()方法 569
17.4 獲取控制——元字元 571
17.4.1 點元字元 574
17.4.2 字元類 575
17.4.3 元符號 578
17.4.4 重複模式匹配元字元 580
17.4.5 錨元字元 587
17.4.6 或模式 592
17.5 用正則表達式驗證表單 596
17.5.1 檢查空欄位 596
17.5.2 檢查郵政編碼 598
17.5.3 檢查字母數據 600
17.5.4 刪除多餘字元 601
17.5.5 有效社會安全號碼驗證 604
17.5.6 驗證電話號碼 606
17.5.7 驗證電子郵件地址 608
17.5.8 驗證信用卡號 610
17.5.9 匯總 616
17.6 應知應會 619
練習 619
第18 章 ajax(及json)簡介 621
18.1 為什麼要用ajax 621
18.2 為什麼最後才提到ajax 623
18.3 建立ajax 通信的步驟 623
18.3.1 步驟1:創建xmlhttp-request 對象 623
18.3.2 步驟2:初始化對象 625
18.3.3 向伺服器傳送請求 628
18.3.4 步驟3:監控伺服器回響狀態 628
18.3.5 使用回調函式處理回響 630
18.3.6 瀏覽器快取問題 632
18.4 結合起來 632
18.4.1 使用ajax 從檔案中獲取文本 638
18.4.2 使用ajax 從檔案中獲取xml 641
18.4.3 ajax 和表單 644
18.5 ajax 和json 651
18.5.1 json 數據結構 652
18.5.2 使用json 的步驟 652
18.5.3 json 綜合示例 655
18.5.4 解決eval()安全問題 658
18.6 使用firebug 調試ajax 662
18.7 應知應會 664
練習 665