第1章 JavaScript快速入門 1
1.1 初識JavaScript 2
1.1.1 什麼是JavaScript 2
1.1.2 JavaScript的由來 3
1.1.3 JavaScript的特點 4
1.1.4 JavaScript與ECMAScript的關係 4
1.2 開發工具 5
1.2.1 流覽器 5
1.2.2 代碼編輯器 6
1.2.3 【案例】第一個JavaScript程式 7
1.3 JavaScript入門 9
1.3.1 JavaScript引入方式 9
1.3.2 常用輸出語句 11
1.3.3 注釋 12
1.3.4 資料與運算 12
1.3.5 函數 14
1.3.6 對象 15
1.3.7 事件 17
1.3.8 【案例】改變網頁背景色 18
動手實踐:驗證使用者輸入的密碼 19
本章小結 20
課後練習 20
第2章 基本語法 21
2.1 變數 22
2.1.1 識別字 22
2.1.2 關鍵字與保留字 22
2.1.3 變數的使用 23
2.1.4 變數的賦值 23
2.2 資料類型 24
2.2.1 資料類型分類 24
2.2.2 基底資料型別 24
2.2.3 資料類型檢測 26
2.2.4 資料類型轉換 27
2.3 運算式 29
2.4 運算子 29
2.4.1 算術運算子 29
2.4.2 字串運算子 30
2.4.3 設定運算子 30
2.4.4 比較運算子 31
2.4.5 邏輯運算子 32
2.4.6 三元運算子 32
2.4.7 位運算子 33
2.4.8 運算子優先順序 35
2.4.9 【案例】計算圓的周長和面積 35
2.5 流程控制 36
2.5.1 選擇結構 36
2.5.2 迴圈結構 39
2.5.3 跳躍陳述式 42
2.5.4 【案例】列印金字塔 43
動手實踐:九九乘法表 45
本章小結 46
課後練習 46
第3章 陣列 48
3.1 初識陣列 49
3.2 創建陣列 49
3.3 陣列的基本操作 50
3.3.1 獲取陣列長度 50
3.3.2 陣列的訪問與遍歷 51
3.3.3 元素的添加與修改 52
3.3.4 元素的刪除 53
3.3.5 【案例】查找最大值與最小值 54
3.4 常見二維陣列操作 55
3.4.1 創建與遍歷 55
3.4.2 【案例】二維陣列轉置 56
3.5 陣列排序 57
3.5.1 冒泡排序 57
3.5.2 插入排序 58
3.6 常見陣列方法 60
3.6.1 棧方法 60
3.6.2 檢索方法 61
3.6.3 陣列轉字串 63
3.6.4 其他方法 63
3.6.5 【案例】猴子選大王 65
動手實踐:省份城市的三級聯動 66
本章小結 69
課後練習 70
第4章 函數 71
4.1 函數的定義與調用 72
4.1.1 初識函數 72
4.1.2 參數設置 73
4.1.3 函數的調用 74
4.1.4 【案例】字串大小寫轉換 75
4.2 變數的作用域 76
4.3 匿名函數 78
4.3.1 函數運算式 78
4.3.2 匿名函數 78
4.3.3 回呼函數 79
4.4 嵌套與遞迴 81
4.4.1 函數嵌套與作用域鏈 81
4.4.2 遞迴呼叫 82
4.4.3 【案例】求斐波那契數列第N項
的值 83
4.5 閉包函數 83
4.5.1 什麼是閉包函數 83
4.5.2 閉包函數的實現 84
動手實踐:網頁計算器 85
本章小結 86
課後練習 86
第5章 對象 88
5.1 物件導向概述 89
5.1.1 面向過程與物件導向 89
5.1.2 物件導向的特徵 89
5.2 自訂對象 91
5.2.1 物件的定義 91
5.2.2 訪問對象成員 92
5.2.3 對象成員遍歷 92
5.2.4 深拷貝與淺拷貝 93
5.3 構造函數 94
5.3.1 為什麼使用構造函數 94
5.3.2 JavaScript內置的構造函數 95
5.3.3 自訂構造函數 95
5.3.4 私有成員 96
5.3.5 函數中的this指向 97
5.4 內置對象 98
5.4.1 String對象 98
5.4.2 Number對象 100
5.4.3 Math對象 100
5.4.4 Date對象 101
5.4.5 【案例】製作年曆 102
5.5 錯誤處理與代碼調試 105
5.5.1 錯誤處理 105
5.5.2 錯誤物件 106
5.5.3 錯誤類型 107
5.5.4 代碼調試 107
5.6 原型與繼承 109
5.6.1 原型 109
5.6.2 繼承 110
5.6.3 靜態成員 113
5.6.4 屬性搜索原則 113
5.6.5 原型鏈 114
動手實踐:表單生成器 118
本章小結 123
課後練習 123
第6章 BOM 125
6.1 什麼是BOM物件 126
6.2 window對象 126
6.2.1 全域作用域 126
6.2.2 彈出對話方塊和窗口 127
6.2.3 窗口位置和大小 130
6.2.4 框架操作 132
6.2.5 計時器 132
6.2.6 【案例】限時秒殺 134
6.3 location對象 136
6.3.1 更改URL 136
6.3.2 獲取URL參數 137
6.3.3 【案例】定時跳轉 138
6.4 history對象 139
6.4.1 歷史記錄跳轉 139
6.4.2 無刷新更改URL地址 140
6.5 navigator對象 141
6.6 screen對象 142
動手實踐:紅綠燈倒計時 143
本章小結 145
課後練習 145
第7章 DOM 147
7.1 DOM對象簡介 148
7.1.1 什麼是DOM 148
7.1.2 DOM HTML節點樹 148
7.1.3 DOM物件的繼承關係 149
7.2 HTML元素操作 150
7.2.1 獲取操作的元素 150
7.2.2 元素內容 154
7.2.3 【案例】改變盒子大小 155
7.2.4 元素屬性 156
7.2.5 元素樣式 158
7.2.6 【案例】標籤欄切換效果 161
7.3 文檔節點操作 162
7.3.1 獲取節點 162
7.3.2 節點追加 164
7.3.3 節點刪除 165
7.3.4 【案例】列表的增刪和移動 166
動手實踐:購物車 171
本章小結 176
課後練習 176
第8章 事件 178
8.1 事件處理 179
8.1.1 事件概述 179
8.1.2 事件的綁定方式 180
8.2 事件物件 182
8.2.1 獲取事件物件 182
8.2.2 常用屬性和方法 183
8.2.3 【案例】緩動的小球 186
8.3 事件分類 188
8.3.1 頁面事件 188
8.3.2 焦點事件 189
8.3.3 滑鼠事件 191
8.3.4 【案例】滑鼠拖曳特效 193
8.3.5 鍵盤事件 195
8.3.6 表單事件 197
動手實踐:圖片放大特效 198
本章小結 202
課後練習 202
第9章 規則運算式 204
9.1 認識規則運算式 205
9.1.1 什麼是規則運算式 205
9.1.2 如何使用正則 205
9.1.3 獲取正則對象 206
9.2 字元類別與集合 207
9.2.1 字元類別 207
9.2.2 字元集合 208
9.2.3 【案例】限定輸入內容 208
9.3 字元限定與分組 211
9.3.1 字元限定 211
9.3.2 括弧字元 212
9.3.3 正則運算子優先順序 214
9.3.4 【案例】內容查找與替換 214
9.4 與正則相關的方法 215
9.4.1 RegExp類中的方法 216
9.4.2 String類中的方法 217
動手實踐:表單驗證 217
本章小結 222
課後練習 223
第10章 Ajax 224
10.1 Web基礎知識 225
10.1.1 Web伺服器 225
10.1.2 HTTP 225
10.2 Web伺服器搭建 228
10.2.1 PHP開發環境 229
10.2.2 前後端交互 230
10.3 Ajax入門 232
10.3.1 什麼是Ajax 232
10.3.2 創建Ajax對象 233
10.3.3 Ajax向伺服器發送請求 233
10.3.4 處理伺服器返回的資訊 236
10.4 資料交換格式 238
10.4.1 XML資料格式 239
10.4.2 JSON資料格式 240
10.4.3 【案例】無刷新分頁 242
10.5 跨域請求 250
10.5.1 Ajax跨域問題 250
10.5.2 JSONP實現跨域請求 251
10.6 擴展技術 254
10.6.1 Cookie 254
10.6.2 FormData 255
10.6.3 Promise 256
10.6.4 WebSocket 260
動手實踐:進度條檔上傳 262
本章小結 265
課後練習 266
第11章 jQuery 267
11.1 jQuery快速入門 268
11.1.1 什麼是jQuery 268
11.1.2 下載jQuery 268
11.1.3 使用jQuery 270
11.2 元素操作 271
11.2.1 jQuery對象 271
11.2.2 jQuery選擇器 271
11.2.3 元素遍歷 278
11.2.4 元素內容 279
11.2.5 元素樣式 280
11.2.6 元素篩選 281
11.2.7 元素屬性 283
11.2.8 【案例】折疊菜單 283
11.3 文檔節點操作 285
11.3.1 節點追加 285
11.3.2 節點替換 286
11.3.3 節點刪除 286
11.3.4 節點複製 287
11.3.5 【案例】左移與右移 287
11.4 事件操作 289
11.4.1 常用事件 289
11.4.2 頁面載入事件 292
11.4.3 事件綁定與切換 292
11.4.4 【案例】手風琴效果 294
11.5 動畫特效 295
11.5.1 常用動畫 295
11.5.2 自訂動畫 297
11.5.3 【案例】無縫輪播圖 299
11.6 jQuery操作Ajax 302
11.7 外掛程式機制 307
11.7.1 自訂外掛程式 307
11.7.2 jQuery外掛程式庫 308
11.7.3 jQuery UI 309
11.7.4 【案例】自訂全選與反選
外掛程式 311
本章小結 314
課後練習 314
第12章 網頁版2048小遊戲 315
12.1 遊戲功能展示 316
12.2 實現步驟分析 317
12.3 遊戲功能實現 317
12.3.1 設計遊戲介面 317
12.3.2 控制遊戲數值 319
12.3.3 實現儲存格移動 323
12.3.4 設置遊戲分數 326
12.3.5 判斷勝利和失敗 327
12.3.6 重新開始遊戲 330
本章小結 330
課後練習 331
JavaScript是一種廣泛應用於Web前端開發的指令碼語言,具有簡單、易學、易用的特點,用JavaScript開發網頁可以增強網頁的互動性,為使用者提供即時的、動態的交互體驗。
本書共分為12章,內容包括JavaScript快速入門、基本語法、陣列、函數、物件、BOM、DOM、事件、規則運算式、Ajax、jQuery和網頁2048小遊戲。為了加深初學者對知識的領悟,本書在確保知識講解系統、全面的基礎上,還配備了精彩的案例,將多個知識點綜合運用。
本書適合作為高等院校本、專科電腦相關專業的教材使用,也可作為JavaScript愛好者的參考書,是一本適合廣大電腦程式設計愛好者學習參考的優秀讀物。