內容簡介
JavaScript是目前*流行的網頁前端開發技術之一。本書由淺入深、循序漸進地介紹了使用JavaScript開發網頁前端套用的基礎知識和技術技能。全書分為3篇。第1篇是JavaScript語法基礎,包括JavaScript簡介、基本語法、數據類型、控制語句、函式與數組等。第2篇是JavaScript面向對象基礎,包括JavaScript面向對象編程、螢幕和瀏覽器對象、文檔對象、視窗對象、歷史地址與cookie對象以及表單和DOM對象。第3篇是JavaScript進階與實戰,包括JavaScript中正則表達式的使用、jQuery框架的使用以及一個接元寶遊戲實例。通過進階技術的學習與綜合實例,讀者能真正感受到JavaScript的魅力。本書語言通俗,內容精練,重點突出,實例豐富,是廣大Web開發人員、計算機編程愛好者、網站管理維護人員必備的參考書,也非常適合大中專院校師生學習閱讀,並可作為高等院校計算機及相關專業教材使用。
圖書目錄
第1篇 JavaScript語法基礎
第1章 認識JavaScript 1
1.1 腳本語言JavaScript 1
1.1.1 腳本語言的分類 1
1.1.2 JavaScript的標準與歷史 2
1.1.3 JavaScript在網頁中的套用 3
1.1.4 JavaScript的發展趨勢 3
1.2 第一個JavaScript程式 4
1.2.1 選擇JavaScript編輯器 4
1.2.2 編寫Hello World程式 5
1.2.3 運行程式 5
1.3 編寫JavaScript代碼時的注意事項 6
1.3.1 大小寫敏感 6
1.3.2 空格與換行 6
1.3.3 分號可有可無 7
1.3.4 注釋形式 7
1.4 小結 8
1.5 習題 8
第2章 JavaScript中的數據類型 9
2.1 基本數據類型 9
2.1.1 字元串型數據 9
2.1.2 數值型數據 10
2.1.3 布爾型數據 12
2.2 複合型數據 13
2.2.1 內置對象 13
2.2.2 日期對象 14
2.2.3 數學對象 16
2.2.4 全局對象 18
2.2.5 字元串對象 19
2.2.6 數組對象 20
2.3 數據類型的轉換 22
2.3.1 隱式類型轉換 22
2.3.2 顯式類型轉換 22
2.4 小結 23
2.5 習題 24
第3章 常量、變數、表達式和運算符 28
3.1 常量和變數 28
3.1.1 常量的定義 28
3.1.2 變數的定義 29
3.1.3 變數的作用域 31
3.1.4 JavaScript中的關鍵字 32
3.2 表達式的定義 33
3.3 認識運算符 34
3.3.1 算術運算符簡介 34
3.3.2 關係運算符簡介 35
3.3.3 字元串運算符簡介 36
3.3.4 位運算符簡介 36
3.3.5 其他運算符 36
3.4 運算符的優先權 37
3.5 小結 38
3.6 習題 38
第4章 控制語句 41
4.1 選擇語句 41
4.1.1 if選擇 42
4.1.2 if-else選擇 43
4.1.3 if-else-if選擇 44
4.1.4 switch多條件選擇 45
4.1.5 選擇語句綜合示例 46
4.2 循環語句 48
4.2.1 for循環 48
4.2.2 while循環 49
4.2.3 do-while循環 50
4.2.4 for-in循環 51
4.2.5 break和continue跳轉 51
4.2.6 循環語句綜合示例 52
4.3 使用異常處理語句 53
4.3.1 try-catch語句 53
4.3.2 try-catch-finally語句 54
4.3.3 throw語句 55
4.3.4 異常處理語句綜合示例 56
4.4 小結 58
4.5 習題 58
第5章 函式和數組 63
5.1 函式的定義 63
5.1.1 函式的普通定義 63
5.1.2 函式的變數定義 66
5.1.3 指針調用 67
5.1.4 函式的參數 68
5.1.5 arguments對象 69
5.2 函式的返回類型 70
5.2.1 值類型 70
5.2.2 引用類型 70
5.2.3 使用返回函式 71
5.3 函式的分類 71
5.3.1 構造函式 71
5.3.2 有返回值的函式 72
5.3.3 無返回值的函式 72
5.4 函式的作用域 72
5.4.1 公有函式的作用域 72
5.4.2 私有函式的作用域 73
5.4.3 使用this關鍵字 74
5.5 數組的定義 75
5.6 創建數組 75
5.6.1 創建空數組 75
5.6.2 指定數組長度創建新數組 75
5.6.3 指定數組元素創建新數組 76
5.6.4 直接創建新數組 76
5.7 數組元素的基本操作 76
5.7.1 讀取數組元素 77
5.7.2 添加數組元素 77
5.7.3 刪除數組元素 77
5.7.4 獲取數組元素的個數 77
5.8 數組對象的常見操作 78
5.8.1 數組轉換為字元串 78
5.8.2 數組元素連線成字元串 78
5.8.3 在數組尾部添加元素 79
5.8.4 刪除數組的最後一個元素 80
5.8.5 其他常見操作 81
5.9 小結 82
5.10 習題 83
第6章 JavaScript的調試與最佳化 88
6.1 JavaScript開發工具深入剖析 88
6.2 JavaScript的調試簡介 89
6.2.1 調試前的準備工作 89
6.2.2 進行調試 90
6.2.3 跟蹤代碼 91
6.3 輸出日誌 93
6.4 最佳化代碼 95
6.5 小結 97
6.6 習題 97
第2篇 JavaScript面向對象基礎
第7章 面向對象編程 99
7.1 面向對象的定義 99
7.2 對象套用 100
7.2.1 對象聲明和實例化 100
7.2.2 對象的引用 101
7.3 JavaScript的對象層次 102
7.3.1 JavaScript對象模型結構 102
7.3.2 客戶端對象層次 103
7.3.3 瀏覽器對象模型 103
7.4 事件驅動與事件處理 104
7.4.1 詳解事件與事件驅動 104
7.4.2 掌握事件與處理代碼關聯 105
7.4.3 函式調用事件 107
7.4.4 代碼調用事件 107
7.4.5 掌握設定對象事件的方法 108
7.4.6 掌握顯式調用事件處理程式 109
7.4.7 事件處理程式的返回值 110
7.4.8 事件與this運算符 111
7.5 常用事件 112
7.5.1 瀏覽器事件 112
7.5.2 滑鼠移動事件 112
7.5.3 滑鼠單擊事件 113
7.5.4 載入與卸載事件 114
7.5.5 得到焦點與失去焦點事件 114
7.5.6 鍵盤事件 114
7.5.7 提交與重置事件 115
7.5.8 選擇與改變事件 115
7.6 小結 116
7.7 習題 116
第8章 螢幕和瀏覽器對象 119
8.1 認識螢幕對象 119
8.1.1 檢測顯示器參數 119
8.1.2 檢測客戶端顯示器螢幕解析度 120
8.1.3 檢測客戶端顯示器螢幕的有效
寬度和高度 121
8.1.4 網頁開屏 122
8.2 認識瀏覽器對象 123
8.2.1 獲取瀏覽器對象 123
8.2.2 MimeType對象 124
8.2.3 瀏覽器對象的javaEnabled屬性 125
8.3 小結 126
8.4 習題 126
第9章 文檔對象 129
9.1 認識文檔對象 129
9.2 操作文檔對象 130
9.2.1 設定超連結的顏色 130
9.2.2 設定網頁背景顏色和默認文字顏色 131
9.2.3 設定文檔信息 133
9.2.4 在標題欄中顯示滾動信息 133
9.2.5 其他文檔對象常見操作 134
9.3 圖像對象 135
9.3.1 圖像對象概述 135
9.3.2 創建和使用圖像對象 135
9.3.3 掌握圖像對象的onerror事件 136
9.3.4 掌握顯示圖片的信息 137
9.3.5 對圖片進行置換 139
9.3.6 認識隨機圖片 140
9.3.7 動態改變圖片大小 141
9.4 連結對象 142
9.4.1 連結對象概述 142
9.4.2 掌握感知滑鼠移動事件 142
9.4.3 對一個網頁上的所有超連結進行查看 143
9.4.4 認識翻頁程式 144
9.4.5 認識網站目錄 147
9.5 小結 149
9.6 習題 149
第10章 視窗對象 153
10.1 認識window對象 153
10.2 操作window對象 153
10.2.1 裝載文檔 154
10.2.2 卸載文檔 154
10.2.3 得到焦點與失去焦點 155
10.2.4 調整視窗的大小 156
10.2.5 對錯誤進行處理 156
10.3 對話框的類型 157
10.3.1 警告對話框 157
10.3.2 詢問對話框 158
10.3.3 輸入對話框 159
10.4 狀態欄 160
10.4.1 認識默認狀態欄信息 160
10.4.2 認識狀態欄瞬間信息 161
10.5 操作網頁視窗 161
10.5.1 打開一個新視窗 162
10.5.2 認識視窗名字 162
10.5.3 如何關閉視窗 163
10.5.4 對視窗進行引用 164
10.5.5 對文檔進行滾動 165
10.6 小結 166
10.7 習題 167
第11章 歷史、地址和cookie對象 169
11.1 認識歷史對象 169
11.1.1 歷史對象的分類 169
11.1.2 前進到上一頁和後退到下一頁 170
11.1.3 實現頁面的跳轉 171
11.2 地址對象 172
11.2.1 對象簡介概述 172
11.2.2 獲取指定地址的各屬性值 172
11.2.3 載入新網頁 173
11.2.4 獲取參數 174
11.2.5 裝載新文檔與重新裝載當前文檔 176
11.2.6 刷新文檔 177
11.2.7 載入新文檔 177
11.3 cookie對象 178
11.3.1 cookie的定義 179
11.3.2 創建與讀取cookie 179
11.3.3 獲取cookie的值 180
11.3.4 cookie的生存周期 181
11.3.5 cookie的注意事項 183
11.4 小結 183
11.5 習題 184
第12章 表單對象和DOM對象 188
12.1 認識表單對象 188
12.1.1 表單對象的種類 188
12.1.2 轉換大小寫 189
12.1.3 表單的提交和重置 190
12.1.4 回響表單的提交和重置 191
12.2 操作表單對象 192
12.2.1 表單驗證 192
12.2.2 表單循環驗證 194
12.2.3 表單的提交方式 196
12.2.4 重置表單 197
12.2.5 如何不使用提交按鈕來提交表單 198
12.3 表單元素 199
12.4 文本框 199
12.4.1 文本框的創建方式 200
12.4.2 查看文本框的屬性值 200
12.4.3 動態跟蹤文本框中輸入的文字個數 201
12.4.4 限制文本框中輸入的字數 202
12.4.5 自動選擇文本框中的文字 203
12.4.6 改變多行文本框大小 204
12.5 DOM的本質是XML 205
12.5.1 XML的API概述 205
12.5.2 認識節點的層次 205
12.5.3 掌握特定語言的文檔模型 206
12.6 使用DOM 206
12.6.1 訪問相關的節點 206
12.6.2 節點類型 208
12.6.3 簡單處理節點屬性 209
12.6.4 訪問指定節點 211
12.6.5 創建新節點 212
12.6.6 修改節點 213
12.7 遍歷DOM文檔 214
12.8 測試與DOM標準的一致性 216
12.9 小結 216
12.10 習題 217
第3篇 JavaScript進階與實戰
第13章 正則表達式 220
13.1 網頁為什麼要使用正則表達式 220
13.2 正則表達式對象RegExp 220
13.3 正則表達式的簡單模式 221
13.3.1 詳解元字元 222
13.3.2 詳解量詞 222
13.4 正則表達式的複雜模式 224
13.4.1 使用分組 224
13.4.2 使用候選 225
13.4.3 使用非捕獲性分組 225
13.4.4 使用前瞻 226
13.5 正則表達式的常用模式 227
13.5.1 使用正則驗證日期 227
13.5.2 使用正則驗證電子郵件地址 228
13.6 小結 230
13.7 習題 230
第14章 jQuery框架 233
14.1 認識jQuery 233
14.1.1 jQuery的定義 233
14.1.2 jQuery與Ajax 234
14.1.3 jQuery與其他腳本庫的區別 234
14.2 搭建jQuery運行環境 235
14.2.1 jQuery庫的選擇 235
14.2.2 jQuery庫的引入 236
14.2.3 jQuery的第一個例子 237
14.3 jQuery原理分析 238
14.3.1 工作原理 238
14.3.2 運行機制 238
14.3.3 元素選擇 240
14.3.4 事件 241
14.4 jQuery對DIV層的操作 245
14.4.1 DIV的滑鼠選取 245
14.4.2 DIV層的尺寸讀取 246
14.4.3 DIV層的顯示與隱藏 247
14.4.4 DIV內的內容控制 248
14.4.5 DIV層的定位 249
14.5 小結 250
14.6 習題 251
第15章 接元寶網頁遊戲 252
15.1 創作思路及基本場景的實現 252
15.1.1 創作思路 252
15.1.2 實現基本場景及用戶界面 253
15.2 設計遊戲角色 255
15.2.1 財神對象 255
15.2.2 元寶對象 256
15.3 遊戲進程控制 257
15.3.1 初始化遊戲 257
15.3.2 遊戲啟動控制 257
15.3.3 遊戲循環 258
15.3.4 遊戲結束控制 258
15.3.5 碰撞檢測 259
15.3.6 運行測試 259
15.4 小結 260
作者簡介
作者主要研究方向為Web、資料庫、網路以及軟體安全等。參與作戰想定編輯器,電視購物網站等多個項目。作者致力於研究各種基於Windows平台開發語言的共同點,對系統底層研究頗有心得,也做過一些資料庫系統和大型電商購物系統。