《21天學通JavaScript》
作 者:楊貴 楊興 等編著 出 版 社: 電子工業出版社出版時間: 2009-1-1頁 數:416頁開 本: 16開ISBN 9787121078996分類: 圖書 >> 計算機/web開發>> JavaScript定價:¥49.80元(含DVD光碟1張)
宣傳語
 基礎知識核心技術典型實例綜合練習項目案例
 242個典型實例、1個項目案例、333個練習題
 一線開發人員全程貼心講解,上手毫不費力
 23個小時多媒體語音視頻教學
 本書原始碼 + 本書電子教案(PPT)
 1000餘頁編程參考寶典電子書(免費贈送)
內 容 簡 介
第一篇完整地講解了JavaScript的基礎知識,主要內容包括JavaScript概述、數據類型、常量與變數、表達式與運算符、程式語句、函式和數組等。第二篇專門介紹JavaScript中內置對象的套用,內容包括JavaScript對象基礎、視窗和框架、螢幕和瀏覽器對象、文檔對象、歷史對象和地址對象、表單對象和表單元素和腳本化cookie等。第三篇講解的是JavaScript的高級技術,主要講解了JavaScript與XML技術、正則表達式、Ajax基礎、Ajax高級套用、JavaScript與外掛程式和JavaScript的調試與最佳化等。最後一篇綜合案例篇用一個完整的例子講解了如何使用JavaScript進行大型套用開發。
本書附贈DVD光碟1張,內容包括超大容量手把手視頻、電子教案(PPT)、編程參考寶典電子書、原始碼及各章習題答案。
本書特點
千里之行,始於足下!
——老子
為什麼要寫這樣一本書
學習任何一門程式語言,最好的開始是找到一本適合自己的書,本書是為JavaScript初級讀者量身定做的入門書籍。目前市面上有關JavaScript的書籍已經不少,但筆者還沒有發現一本講解全面、細緻、深入、易懂,適合初學者入門的好書。此類書籍大都僅僅講解JavaScript部分內容,從而使讀者知其一不知其二,有如身在霧裡,在面臨實際開發問題時難以應付。
基於上述現狀,筆者結合自己多年各類程式語言學習經驗和開發經驗,寫了這本書。通過21天學習規劃,使本來就輕鬆易學的JavaScript變得更容易掌握,並且使讀者全面接觸到JavaScript。
本書有何特色
1.細緻體貼的講解
為了讓讀者更快地上手,本書特別設計了適合初學者的學習方式,用準確的語言總結概念#用直觀的圖示演示過程#用詳細的注釋解釋代碼#用形象的比方幫助記憶。效果如下:
1)知識點介紹 準確、清晰是其顯著特點,一般放在每一節開始位置,讓零基礎的讀者了解相關概念,順利入門。
2)範例 書中出現的完整實例,以章節順序編號,便於檢索和循序漸進地學習、實踐,放在每節知識點介紹之後。
3)範例代碼 與範例編號對應,層次清楚、語句簡潔、注釋豐富,體現了代碼優美的原則,有利於讀者養成良好的代碼編寫習慣。對於大段程式,均在每行代碼前設定編號便於學習。
4)運行結果 對範例給出運行結果和對應圖示,幫助讀者更直觀地理解範例代碼。
5)代碼解析 將範例代碼中的關鍵代碼行逐一解釋,有助於讀者掌握相關概念和知識。
6)綜合練習 為了便於讀者鞏固所學內容,本書每章中均提供了綜合練習,並給出了操作提示和結果,配合讀者自己動手實踐。
7)習題 每章最後提供專門的測試習題,供讀者檢驗所學知識是否牢固掌握,題目的提示或答案放在光碟中。
8)貼心的提示 為了便於讀者閱讀,全書還穿插著一些技巧、提示等小貼士,體例約定如下:
— 提示:通常是一些貼心的提醒,讓讀者加深印象或提供建議,或者解決問題的方法。
— 注意:提出學習過程中需要特別注意的一些知識點和內容,或者相關信息。
— 警告:對操作不當或理解偏差將會造成的災難性後果做警示,以加深讀者印象。
經作者多年的培訓和授課證明,以上講解方式是最適合初學者學習的方式,讀者按照這種方式,會非常輕鬆、順利地掌握本書知識。
2.實用超值的DVD光碟
為了幫助讀者比較直觀地學習,本書附贈DVD光碟,內容包括多媒體視頻、電子教案(PPT)、編程參考寶典電子書、各章習題答案和實例原始碼等。
多媒體視頻
贈送1.51GB,長達23小時手把手教學視頻,講解關鍵知識點界面操作和書中的一些綜合練習題。作者親自配音、演示,手把手教會讀者使用。
電子教案(PPT)
本書可以作為高校相關課程的教材或課外輔導書,所以筆者特別為本書製作了電子教案(PPT),以方便老師教學使用。
編程參考寶典電子書
為方便廣大讀者學習,特別製作了編程開發參考電子書,供讀者查閱和參考。
3.提供完善的技術支持
本書提供了論壇,讀者可以在上面提問交流。另外,論壇上還有一些小的教程、視頻動畫和各種技術文章,可幫助讀者提高開發水平。
4.豐富的額外素材下載
相關的開發素材檔案。
推薦的學習計畫
本書作者在長期從事相關培訓或教學實踐過程中,歸納了最適合初學者的學習模式,並參考了多位專家的意見,為讀者總結了合理的學習時間分配方式,
本書作者
2009年1月
讀者對象
本書非常適合以下人員閱讀。
— 打算進入JavaScript編程大門的新手;
— Web開發的前沿程式設計師;
— 各大中專院校的在校學生和相關授課老師;
— 其他編程愛好者。
目 錄
第一篇 JavaScript基礎篇
第1章 JavaScript概述(精彩視頻:60分鐘) 21
1.1 JavaScript背景知識 21
1.1.1 JavaScript的歷史 21
1.1.2 制定標準 22
1.1.3 JavaScript現況 22
1.1.4 JavaScript的未來 23
1.2 簡單的腳本語言 23
1.2.1 什麼是腳本語言 23
1.2.2 腳本語言的分類 23
1.2.3 JavaScript能做什麼 24
1.2.4 JavaScript和其他語言的異同 24
1.2.5 JavaScript同Java的異同 24
1.3 第一個JavaScript程式 24
1.3.1 預備知識 25
1.3.2 JavaScript編輯器的選擇 26
1.3.3 編寫“Hello World”程式 27
1.3.4 瀏覽器對JavaScript的支持 28
1.4 注意事項 28
1.4.1 大小寫敏感 29
1.4.2 空格與換行 29
1.4.3 可有可無的分號 30
1.5 綜合練習 30
1.6 小結 31
1.7 習題 31
第2章 數據類型(精彩視頻:72分鐘) 33
2.1 基本數據類型 33
2.1.1 使用字元串型數據 33
2.1.2 進一步理解字元串 34
2.1.3 使用數值型數據 35
2.1.4 使用布爾型數據 37
2.2 複合數據類型 38
2.2.1 常用的內置對象 38
2.2.2 日期對象 39
2.2.3 全局對象 41
2.2.4 數學對象 42
2.2.5 字元串對象 44
2.2.6 數組對象 45
2.3 其他數據類型 46
2.3.1 函式 47
2.3.2 空值 47
2.3.3 不確定的類型 48
2.4 數據類型的轉換 49
2.4.1 隱式類型轉換 49
2.4.2 顯式類型轉換 50
2.5 綜合練習 51
2.6 小結 53
2.7 習題 54
第3章 變數和常量(精彩視頻:47分鐘) 56
3.1 常量 56
3.1.1 常量的種類 56
3.1.2 常量的使用方法 56
3.2 變數 57
3.2.1 什麼是變數 57
3.2.2 變數的定義方式 58
3.2.3 變數的命名規則 59
3.2.4 變數的作用範圍 61
3.2.5 變數的用途 61
3.3 JavaScript關鍵字 62
3.4 綜合練習 63
3.5 小結 64
3.6 習題 64
第4章 表達式與運算符(精彩視頻:90分鐘) 67
4.1 表達式 67
4.2 運算元 68
4.3 運算符介紹 69
4.3.1 運算符 69
4.3.2 運算元的類型 69
4.4 算術運算符 70
4.4.1 加法運算符 70
4.4.2 減法運算符 70
4.4.3 乘法運算符 71
4.4.4 除法運算符 72
4.4.5 取模運算符 72
4.4.6 負號運算符 73
4.4.7 正號運算符 74
4.4.8 遞增運算符 74
4.4.9 遞減運算符 75
4.5 關係運算符 76
4.5.1 相等運算符 76
4.5.2 等同運算符 77
4.5.3 不等運算符 78
4.5.4 不等同運算符 79
4.5.5 小於運算符 79
4.5.6 大於運算符 80
4.5.7 小於或等於運算符 81
4.5.8 大於或等於運算符 82
4.5.9 in運算符 82
4.5.10 instanceof運算符 83
4.6 字元串運算符 84
4.7 賦值運算符 84
4.8 邏輯運算符 85
4.8.1 邏輯與運算符 85
4.8.2 邏輯或運算符 86
4.8.3 邏輯非運算符 86
4.9 位運算符 87
4.9.1 位與運算符 87
4.9.2 位或運算符 88
4.9.3 位異或運算符 88
4.9.4 位非運算符 89
4.9.5 左移運算符 90
4.9.6 帶符號右移運算符 91
4.9.7 高位補0右移運算符 91
4.10 其他運算符 91
4.10.1 條件運算符 92
4.10.2 new運算符 92
4.10.3 void運算符 92
4.10.4 類型檢測運算符 93
4.10.5 對象屬性存取運算符 93
4.10.6 數組存取運算符 94
4.10.7 delete運算符 94
4.10.8 逗號運算符 95
4.10.9 函式調用運算符 95
4.10.10 this運算符 96
4.11 運算符的優先權 97
4.12 綜合練習 98
4.13 小結 100
4.14 習題 100
第5章 控制語句(精彩視頻:70分鐘) 103
5.1 選擇語句 103
5.1.1 if語句 103
5.1.2 if-else語句 105
5.1.3 if-else-if語句 106
5.1.4 switch語句 107
5.1.5 選擇語句綜合示例 108
5.2 循環語句 110
5.2.1 for語句 110
5.2.2 while語句 111
5.2.3 do-while語句 112
5.2.4 for-in語句 113
5.2.5 break和continue語句 113
5.2.6 循環語句綜合示例 114
5.3 異常處理語句 115
5.3.1 try-catch語句 115
5.3.2 try-catch-finally語句 116
5.3.3 throw語句 117
5.3.4 異常處理語句綜合示例 118
5.4 綜合練習 119
5.5 小結 122
5.6 習題 123
第6章 函式(精彩視頻:69分鐘) 125
6.1 函式的功能 125
6.2 函式的定義 125
6.2.1 函式的普通定義方式 125
6.2.2 函式的變數定義方式 128
6.2.3 函式的指針調用方式 129
6.2.4 函式的參數 130
6.2.5 關於arguments對象 130
6.3 函式的返回類型 131
6.3.1 值類型 131
6.3.2 引用類型 132
6.3.3 返回函式 132
6.4 函式的分類 132
6.4.1 構造函式 133
6.4.2 有返回值的函式 133
6.4.3 無返回值的函式 133
6.5 函式的作用域 133
6.5.1 公有函式 134
6.5.2 私有函式 134
6.5.3 this關鍵字 135
6.6 綜合練習 136
6.7 小結 139
6.8 習題 140
第7章 數組(精彩視頻:65分鐘) 142
7.1 數組介紹 142
7.1.1 數組的概念 142
7.1.2 數組元素 142
7.1.3 多維數組 143
7.2 創建數組 143
7.2.1 創建一個空數組 143
7.2.2 通過指定數組長度創建數組 143
7.2.3 通過指定數組元素創建數組 144
7.2.4 直接創建數組 144
7.3 數組元素的基本操作 144
7.3.1 讀取數組元素 145
7.3.2 添加數組元素 145
7.3.3 刪除數組元素 145
7.3.4 數組元素的個數 145
7.4 數組對象常見的操作 146
7.4.1 將數組轉換為字元串 146
7.4.2 將數組元素連線成字元串 146
7.4.3 在數組尾部添加元素 147
7.4.4 刪除數組的最後一個元素 148
7.4.5 移除數組頂端的元素 149
7.4.6 在數組頭部添元素 150
7.4.7 添加元素並生成新數組 151
7.4.8 刪除、替換或插入數組元素 152
7.4.9 獲取數組中的一部分元素 153
7.4.10 顛倒數組元素的順序 154
7.4.11 對數組元素進行排序 155
7.4.12 將對象轉換為本地字元串 156
7.5 綜合練習 157
7.6 小結 159
7.7 習題 159
第二篇 JavaScript對象篇
第8章 JavaScript面向對象基礎(精彩視頻:44分鐘) 161
8.1 面向對象術語 161
8.1.1 面向對象的語言要求 161
8.1.2 對象的構成 162
8.2 對象套用 162
8.2.1 聲明和實例化 162
8.2.2 對象的引用 164
8.2.3 對象的廢除 164
8.2.4 對象的早綁定和晚綁定 165
8.3 JavaScript的對象層次 165
8.3.1 JavaScript對象模型 165
8.3.2 客戶端對象層次介紹 166
8.3.3 瀏覽器對象模型 166
8.4 事件驅動與事件處理 167
8.4.1 事件與事件驅動 167
8.4.2 事件與處理代碼關聯 168
8.4.3 調用函式的事件 169
8.4.4 調用代碼的事件 170
8.4.5 設定對象事件的方法 170
8.4.6 顯式調用事件處理程式 172
8.4.7 事件處理程式的返回值 172
8.4.8 事件與this運算符 174
8.5 常用的事件 175
8.5.1 瀏覽器與事件 175
8.5.2 滑鼠移動事件 175
8.5.3 滑鼠單擊事件 175
8.5.4 載入與卸載事件 176
8.5.5 得到焦點與失去焦點事件 176
8.5.6 鍵盤事件 176
8.5.7 提交與重置事件 177
8.5.8 選擇與改變事件 178
8.6 綜合練習 179
8.7 小結 180
8.8 習題 180
第9章 視窗和框架(精彩視頻:71分鐘) 182
9.1 window對象 182
9.1.1 window對象介紹 182
9.1.2 window對象的使用方法 182
9.2 window對象事件及使用方法 183
9.2.1 裝載文檔 184
9.2.2 卸載文檔 184
9.2.3 得到焦點與失去焦點 185
9.2.4 調整視窗的大小 186
9.2.5 錯誤處理 187
9.3 對話框 188
9.3.1 警告對話框 188
9.3.2 詢問對話框 189
9.3.3 輸入對話框 189
9.4 狀態欄 190
9.4.1 狀態欄介紹 191
9.4.2 默認狀態欄信息 191
9.4.3 狀態欄瞬間信息 191
9.5 視窗操作 192
9.5.1 打開新視窗 192
9.5.2 視窗名字 193
9.5.3 關閉視窗 194
9.5.4 視窗的引用 195
9.5.5 滾動文檔 196
9.6 逾時與時間間隔 197
9.6.1 延遲代碼執行 197
9.6.2 周期性執行代碼 198
9.6.3 停止周期性執行代碼 199
9.6.4 取消延遲執行 200
9.7 框架操作 201
9.7.1 框架介紹 201
9.7.2 父視窗與子視窗 201
9.7.3 視窗之間的關係 202
9.7.4 視窗名字 203
9.8 綜合練習 203
9.9 小結 204
9.10 習題 205
第10章 螢幕和瀏覽器對象(精彩視頻:60分鐘) 207
10.1 螢幕對象 207
10.1.1 檢測顯示器參數 207
10.1.2 客戶端顯示器螢幕解析度 208
10.1.3 客戶端顯示器螢幕的有效寬度和高度 209
10.1.4 網頁開屏 210
10.2 瀏覽器對象 211
10.2.1 獲取瀏覽器對象的屬性值 211
10.2.2 MimeType對象和Plugin對象 212
10.2.3 瀏覽器對象的javaEnabled 213
10.3 綜合練習 214
10.4 小結 215
10.5 習題 215
第11章 文檔對象(精彩視頻:84分鐘) 217
11.1 文檔對象概述 217
11.1.1 文檔對象介紹 217
11.1.2 文檔對象的使用方法 217
11.1.3 引用標籤中的值 218
11.1.4 引用文檔中對象的方法 219
11.2 文檔對象的套用 220
11.2.1 設定超連結的顏色 221
11.2.2 設定網頁背景顏色和默認文字顏色 221
11.2.3 文檔信息 223
11.2.4 在標題欄中顯示滾動信息 223
11.2.5 防止盜鏈 224
11.2.6 在網頁中輸出內容 225
11.2.7 在其他文檔中輸出內容 226
11.2.8 輸出非HTML文檔 227
11.2.9 文檔中的所有HTML元素 228
11.2.10 引用文檔中的HTML元素 229
11.2.11 引用文檔元素中的子元素 230
11.3 圖像對象 232
11.3.1 圖像對象介紹 232
11.3.2 創建和使用圖像對象 232
11.3.3 圖像對象的onerror事件 233
11.3.4 顯示圖片的信息 234
11.3.5 置換圖片 235
11.3.6 隨機圖片 236
11.3.7 動態改變圖片大小 237
11.4 連結對象 238
11.4.1 連結對象的介紹 239
11.4.2 感知滑鼠移動事件 239
11.4.3 查看一個網頁上的所有超連結 239
11.4.4 翻頁程式 241
11.4.5 網站目錄 243
11.5 錨對象 244
11.5.1 錨對象介紹 244
11.5.2 錨對象與連結對象的區別 245
11.5.3 創建文檔索引 246
11.6 綜合練習 247
11.7 小結 250
11.8 習題 250
第12章 歷史對象和地址對象(精彩視頻:50分鐘) 253
12.1 歷史對象 253
12.1.1 歷史對象的介紹 253
12.1.2 前進到上一頁和後退到下一頁 253
12.1.3 跳轉 255
12.2 地址對象 256
12.2.1 URL介紹 256
12.2.2 獲取指定地址的各屬性值 256
12.2.3 載入新網頁 257
12.2.4 獲取參數 258
12.2.5 裝載新文檔與重新裝載當前文檔 259
12.2.6 刷新文檔 260
12.2.7 載入新文檔 261
12.3 綜合練習 262
12.4 小結 263
12.5 習題 263
第13章 表單對象和表單元素(精彩視頻:65分鐘) 265
13.1 表單對象概述 265
13.1.1 表單對象介紹 265
13.1.2 大小寫的轉換 265
13.1.3 提交表單和重置表單 267
13.1.4 回響表單的提交和重置 268
13.2 表單對象的套用 269
13.2.1 表單驗證 269
13.2.2 循環驗證表單 270
13.2.3 設定表單的提交方式 272
13.2.4 重置表單的提示 273
13.2.5 不使用提交按鈕提交表單 274
13.3 表單元素 275
13.3.1 表單元素概述 276
13.3.2 表單元素的命名 276
13.4 文本框 277
13.4.1 文本框的創建方式 277
13.4.2 查看一個文本框的屬性值 278
13.4.3 動態跟蹤文本框中輸入的文字個數 279
13.4.4 限制文本框中輸入的字數 279
13.4.5 自動選擇文本框中的文字 280
13.5 按鈕 281
13.5.1 按鈕介紹 281
13.5.2 按鈕創建方式 281
13.5.3 網頁調色板 282
13.5.4 改變多行文本框大小 283
13.6 綜合練習 284
13.7 小結 286
13.8 習題 286
第14章 腳本化cookie(精彩視頻:60分鐘) 289
14.1 cookie介紹 289
14.1.1 什麼是cookie 289
14.1.2 cookie的作用和檢測用戶瀏覽器是否支持cookie 289
14.2 創建與讀取cookie 290
14.3 獲取cookie的值 291
14.4 cookie的編碼 292
14.5 cookie的生存期 295
14.6 cookie的路徑和域 296
14.7 cookie的安全性 297
14.8 使用cookie的注意事項 299
14.9 綜合練習 299
14.10 小結 303
14.11 習題 303
第三篇 JavaScript高級技術篇
第15章 JavaScript與XML技術(精彩視頻:85分鐘) 305
15.1 XML簡介 305
15.1.1 針對XML的API 305
15.1.2 節點的層次 305
15.1.3 特定語言的文檔模型 306
15.2 使用DOM 306
15.2.1 訪問相關的節點 307
15.2.2 檢測節點的類型 308
15.2.3 處理節點屬性 309
15.2.4 訪問指定節點 311
15.2.5 創建新節點 312
15.2.6 修改節點 313
15.3 HTML DOM特性 314
15.3.1 讓特性像屬性一樣 314
15.3.2 表格相關特性 315
15.4 遍歷DOM文檔 316
15.4.1 文檔節點疊代器 316
15.4.2 遍歷文檔樹 318
15.5 測試與DOM標準的一致性 319
15.6 綜合練習 320
15.7 小結 321
15.8 習題 322
第16章 正則表達式(精彩視頻:41分鐘) 324
16.1 正則表達式基礎 324
16.1.1 為什麼使用正則表達式 324
16.1.2 使用RegExp對象 324
16.2 簡單模式 325
16.2.1 元字元 325
16.2.2 量詞 326
16.3 複雜模式 327
16.3.1 分組 328
16.3.2 候選 328
16.3.3 非捕獲性分組 329
16.3.4 前瞻 329
16.4 常用模式 331
16.4.1 驗證日期 331
16.4.2 驗證電子郵件地址 332
16.5 綜合練習 333
16.6 小結 336
16.7 習題 336
第17章 Ajax基礎(精彩視頻:68分鐘) 338
17.1 傳統的Web技術及Ajax的由來 338
17.2 Ajax技術原理 339
17.3 Ajax技術的優缺點 339
17.4 Ajax技術的組成部分 340
17.4.1 Ajax中的JavaScript 340
17.4.2 Ajax中的XMLHTTPRequest 340
17.4.3 Ajax中的CSS 340
17.4.4 Ajax中的DOM 341
17.4.5 Ajax中的XML 341
17.5 XMLHttpRequest對象 341
17.5.1 XMLHttpRequest的介紹 341
17.5.2 XMLHttpRequest創建 341
17.6 局部更新 342
17.7 實現Ajax 344
17.7.1 實現Ajax的步驟 344
17.7.2 創建HTTP請求 344
17.7.3 設定HTTP回響回調函式 345
17.7.4 傳送HTTP請求 345
17.7.5 一個完整的Ajax實例 345
17.8 綜合練習 347
17.9 小結 350
17.10 習題 350
第18章 Ajax高級套用(精彩視頻:65分鐘) 352
18.1 客戶端腳本語言 352
18.1.1 使用JavaScript的局部刷新技術 352
18.1.2 使用iframe的局部刷新技術 353
18.2 伺服器腳本語言 355
18.2.1 改進的iframe局部刷新 355
18.2.2 Ajax與伺服器互動 356
18.3 綜合練習 358
18.4 小結 360
18.5 習題 361
第19章 JavaScript與外掛程式(精彩視頻:96分鐘) 363
19.1 ActiveX控制項 363
19.1.1 開始創建ActiveX控制項 363
19.1.2 添加ATL控制項 364
19.1.3 為控制項添加屬性 365
19.1.4 為實現類添加成員變數 366
19.1.5 改寫相關函式 366
19.1.6 添加事件功能 368
19.1.7 添加事件激發功能 370
19.1.8 編譯生成控制項 371
19.1.9 使用ActiveX控制項 372
19.2 JavaApplet 374
19.2.1 安裝JDK 374
19.2.2 創建Applet 375
19.2.3 使用Applet 376
19.3 Flash 377
19.3.1 創建Flash 377
19.3.2 Flash與JavaScript的互動 380
19.4 綜合練習 382
19.5 小結 387
19.6 習題 387
第20章 JavaScript的調試與最佳化(精彩視頻:57分鐘) 389
20.1 JavaScript開發工具 389
20.2 JavaScript的調試 390
20.2.1 調試前的準備工作 390
20.2.2 開始調試 390
20.2.3 跟蹤代碼 392
20.3 日誌輸出 393
20.4 代碼最佳化 395
20.5 綜合練習 397
20.6 小結 398
20.7 習題 398
第四篇 綜合案例篇
第21章 撿餡餅遊戲(精彩視頻:63分鐘) 400
21.1 創作思路及基本場景的實現 400
21.1.1 創作思路 400
21.1.2 實現基本場景及用戶界面 400
21.2 設計遊戲角色 403
21.2.1 餡對象 403
21.2.2 餅對象 404
21.3 遊戲進程控制 406
21.3.1 初始化遊戲 406
21.3.2 遊戲啟動控制 407
21.3.3 遊戲循環 408
21.3.4 遊戲結束控制 409
21.3.5 運行測試 410
21.4 小結 411