內容介紹
《JavaScript詳解(第2版)》主要內容簡介:JavaScript是目前最流行和最重要的Web程式語言。《JavaScript詳解(第2版)》從JavaScript的編程結構開始,循序漸進地講述了JavaScript及相關的CSS、W3C DOM、cookie、正則表達式和匹配模式,以及功能強大的Ajax。書中採用了大量課堂實踐示例,附以詳盡的代碼行解釋和實際結果輸出,將JavaScript基礎知識與高級技巧完美地展現出來。《JavaScript詳解(第2版)》適合對Web開發和設計感興趣的人員閱讀,也可作為高校相關課程的教材。作者介紹
Ellie Quigley 矽谷傳奇講師,在多家知名高校和企業教授腳本語言已有20多年。她在加州大學聖克魯茲分校講授的Perl和Shell程式設計課程已經成為矽谷文化的一部 分。她所著的暢銷書還包括UNIX Shells by Example、Perl by Example、PHP and MySQL by Example(與Marko Gargenta合著)。作品目錄
第1 章JavaScript 簡介11.1JavaScript 是什麼1
1.2JavaScript 不是什麼2
1.3JavaScript 的用處3
1.4JavaScript 及其在Web 頁面中的位置3
1.5Ajax 是什麼5
1.6JavaScript 是什麼樣子的6
1.7JavaScript 及其在Web 開發中承擔的角色7
1.8JavaScript 和事件9
1.9標準化JavaScript 和W3C11
1.9.1JavaScript 對象12
1.9.2文檔對象模型12
1.10關於瀏覽器13
1.10.1JavaScript 的版本14
1.10.2你的瀏覽器遵循標準嗎16
1.10.3瀏覽器是否已啟用JavaScript 16
1.11JavaScript 代碼放在哪兒17
1.12驗證標籤20
1.12.1W3C 驗證工具21
1.12.2Validome 驗證工具21
1.13應知應會22
練習23
第2 章腳本的安裝24
2.1HTML 文檔與JavaScript24
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.2write()及writeln()方法31
2.4關於調試33
2.5調試工具33
2.5.1Firefox 33
2.5.2在Internet Explorer 8 中調試36
2.5.3JavaScript:URL 協定37
2.6JavaScript 與舊瀏覽器或受限的瀏覽器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要注意的bug55
3.5應知應會55
練習56
第4 章對話框57
4.1與用戶互動57
4.1.1alert()方法57
4.1.2prompt()方法59
4.1.3confirm()方法61
4.2應知應會62
練習63
第5 章運算符64
5.1JavaScript 運算符和表達式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.1parseInt()函式88
5.3.2parseFloat()函式90
5.3.3eval()函式91
5.4特殊運算符92
5.5應知應會93
練習93
第6 章條件選擇95
6.1控制結構、塊及複合語句95
6.2條件95
6.2.1if/else96
6.2.2if/else if 98
6.2.3switch99
6.3循環102
6.3.1while 循環102
6.3.2do/while 循環103
6.3.3for 循環104
6.3.4for/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.1with 關鍵字149
8.4.2for/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.2Array 對象屬性171
9.2.3關聯數組173
9.2.4嵌套數組175
9.3數組方法178
9.4Date 對象184
9.4.1Date 對象方法的使用185
9.4.2操縱日期及時間187
9.4.3通過prototype 屬性自定義Date 對象188
9.5Math 對象190
9.5.1向上取整及向下取整192
9.5.2生成隨機數193
9.5.3wrapper 對象194
9.5.4String 對象195
9.5.5Number 對象205
9.5.6Boolean 對象207
9.5.7Function 對象209
9.5.8再論關鍵字with 210
9.6應知應會211
練習212
第10 章瀏覽器對象模型:BOM214
10.1JavaScript 及瀏覽器對象模型214
10.1.1navigator 對象的使用215
10.1.2window 對象的使用225
10.1.3創建定時事件231
10.1.4Frame 的使用240
10.1.5location 對象249
10.1.6history 對象253
10.1.7screen 對象256
10.2應知應會 258
練習258
第11 章表單及輸入設備的使用259
11.1文檔對象模型及傳統DOM 0259
11.2JavaScript 層次結構259
11.3關於HTML 表單265
11.4JavaScript 與form 對象271
11.4.1為表單及其輸入類型(控制項)命名271
11.4.2表單中的傳統DOM 274
11.4.3為表單及按鈕命名277
11.4.4提交填寫完成的表單281
11.4.5this 關鍵字289
11.4.6submit()及reset()方法291
11.5輸入設備(控制項)編程295
11.6應知應會324
練習324
第12 章圖片與連結326
12.1圖片簡介326
12.1.1重溫HTML 中的圖片326
12.1.2JavaScript 中的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圖片地圖與JavaScript343
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.1HTML 和事件處理函式359
13.2.2設定事件處理函式361
13.2.3返回值363
13.2.4JavaScript 對象方法和事件364
13.3處理視窗事件或框架事件366
13.3.1onLoad 和onUnLoad事件366
13.3.2onFocus 和onBlur 事件函式368
13.3.3onResize 事件處理函式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.7HTML 事件處理函式和JavaScript 事件方法391
13.6.8onError 事件393
13.7event 對象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.3CSS 程式結構 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.8ID 選擇器和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.2JavaScript 如何操作樣式表459
14.11.3style 對象462
14.11.4className 屬性470
14.11.5下拉選單和提示框472
14.12應知應會477
練習478
第15 章W3C DOM 與JavaScript479
15.1W3C DOM479
15.2理解DOM 節點480
15.3節點481
15.3.1父節點和子節點482
15.3.2兄弟節點482
15.3.3nodeName 和nodeType屬性483
15.3.4空白bug483
15.4遍歷DOM484
15.5DOM 查看器486
15.6查詢DOM 的捷徑487
15.6.1document.getElement-ById()方法487
15.6.2document.getElements-ByTagName()方法490
15.6.3對應於HTML 屬性的JavaScript 屬性491
15.7DOM 的修改(追加、複製和刪除節點) 493
15.7.1innerHTML 屬性和元素的內容493
15.7.2更改元素的內容495
15.7.3使用DOM 創建新元素496
15.7.4在節點前插入498
15.7.5為節點創建屬性499
15.7.6DOM 回顧:創建部落格501
15.7.7使用DOM 創建表格504
15.7.8複製節點507
15.7.9刪除節點512
15.7.10利用節點實現文本滾動515
15.8事件處理和DOM517
15.8.1HTML 內聯方式517
15.8.2腳本方法517
15.8.3DOM 方法518
15.8.4冒泡和捕獲518
15.9W3C 模型中的事件監聽器522
15.9.1添加事件522
15.9.2註冊多個事件524
15.9.3刪除事件526
15.9.4Microsoft Internet Explorer中的事件監聽器 528
15.9.5回顧事件屬性530
15.10不唐突的JavaScript 533
15.11應知應會539
練習540
第16 章cookie543
16.1什麼是cookie 543
16.1.1cookie 的組成545
16.1.2cookie 的屬性546
16.2使用JavaScript 創建cookie 547
16.2.1cookie 對象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.4RegExp 對象的屬性564
17.3使用字元串的正則表達式方法566
17.3.1match()方法566
17.3.2search()方法567
17.3.3replace()方法568
17.3.4split()方法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為什麼最後才提到Ajax623
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.3Ajax 和表單 644
18.5Ajax 和JSON 651
18.5.1JSON 數據結構 652
18.5.2使用JSON 的步驟 652
18.5.3JSON 綜合示例655
18.5.4解決eval()安全問題 658
18.6使用Firebug 調試Ajax 662
18.7應知應會 664
練習 665