內容簡介
《JavaScript動態網站開發案例課堂(微課版)》用實例引導讀者深入學習,採取“基礎知識→核心技術→高級套用→項目案例實戰”的講解模式,深入淺出地講解了JavaScript動態網頁設計和開發動態網站的各項技術及實戰技能。
《JavaScript動態網站開發案例課堂(微課版)》第1篇為基礎知識,主要講解了JavaScript入門知識、JavaScript編程基礎、控制結構與語句、函式、對象與數組、日期與字元串對象等;第2篇為核心技術,主要講解數值與數學對象、JavaScript的調試與最佳化、文檔對象模型與事件驅動、
document對象、window對象、事件處理等;第3篇為高級套用,主要講解JavaScript控制表單和樣式表、頁面列印和瀏覽器檢測、Cookie、JavaScript和Ajax技術、jQuery、JavaScript的安全性等;第4篇為項目案例實戰,主要講解製作飛機大戰遊戲、設計企業門戶類網頁、開發商品信息展示系統。
《JavaScript動態網站開發案例課堂(微課版)》適合任何想學習JavaScript動態網頁設計的人員,無論您是否從事計算機相關行業,無論您是否接觸過JavaScript動態網頁設計,通過學習本書內容,均可快速掌握JavaScript動態網頁設計和開發動態網站的方法和技巧。
圖書目錄
第1篇 基礎知識
第1章 零基礎入門——熟悉JavaScript 3
1.1 認識JavaScript 4
1.1.1 什麼是JavaScript 4
1.1.2 JavaScript的特點 4
1.1.3 JavaScript與Java的區別 5
1.1.4 JavaScript版本 6
1.2 JavaScript的編寫工具 7
1.2.1 記事本 7
1.2.2 Dreamweaver CC 8
1.3 JavaScript在HTML 5中的使用 9
1.3.1 在HTML 5網頁頭中嵌入JavaScript代碼 9
1.3.2 在HTML 5網頁中嵌入JavaScript代碼 10
1.3.3 在HTML 5網頁的元素事件中嵌入JavaScript代碼 11
1.3.4 在HTML 5中調用已經存在的JavaScript檔案 12
1.3.5 通過JavaScript偽URL引入JavaScript腳本代碼 13
1.4 JavaScript和瀏覽器 14
1.4.1 在Internet Explorer中調用JavaScript代碼 14
1.4.2 在Firefox中調用JavaScript代碼 14
1.4.3 在Opera中調用JavaScript代碼 15
1.4.4 瀏覽器中的文檔對象類型(DOM) 15
1.5 實戰演練——一個簡單的JavaScript示例 15
1.6 疑難解惑 16
第2章 讀懂代碼的前提——JavaScript 編程基礎 19
2.1 JavaScript的基本語法 20
2.1.1 執行順序 20
2.1.2 區分大小寫 20
2.1.3 分號與空格 20
2.1.4 對代碼行進行折行 21
2.1.5 注釋 21
2.1.6 語句 22
2.1.7 語句塊 23
2.2 JavaScript的數據結構 24
2.2.1 標識符 24
2.2.2 關鍵字 25
2.2.3 保留字 25
2.2.4 常量 26
2.2.5 變數 26
2.3 看透代碼中的數據類型 28
2.3.1 typeof運算符 28
2.3.2 未定義類型 29
2.3.3 空值類型 30
2.3.4 布爾類型 30
2.3.5 數值類型 31
2.3.6 字元串類型 31
2.3.7 對象類型 32
2.4 數據間的計算法則——運算符 32
2.4.3 位運算符 35
2.4.7 運算符的優先權 39
2.5 JavaScript的表達式 40
2.5.1 賦值表達式 40
2.5.4 字元串表達式 43
2.5.5 類型轉換 43
2.6 實戰演練——局部變數和全局變數的優先權 44
2.7 疑難解惑 46
第3章 改變程式執行方向——控制結構與語句 47
3.1 基本處理流程 48
3.2 賦值語句 49
3.3 條件判斷語句 49
3.3.1 if語句 49
3.3.2 if…else語句 50
3.3.3 if…else if語句 51
3.3.4 if語句的嵌套 52
3.3.5 switch語句 53
3.4 循環控制語句 54
3.4.1 while語句 55
3.4.2 do…while語句 55
3.4.3 for循環 56
3.5 跳轉語句 57
3.5.2 continue語句 58
3.6 使用對話框 59
3.7 實戰演練——簡單易用的倒計時 61
3.8 疑難解惑 62
第4章 邏輯功能的代碼組合——函式 63
4.1 函式簡介 64
4.2 調用函式 64
4.2.1 函式的簡單調用 64
4.2.2 在表達式中調用函式 65
4.2.3 在事件回響中調用函式 66
4.2.4 通過連結調用函式 66
4.3 JavaScript中常用的函式 67
4.3.1 嵌套函式 67
4.3.2 遞歸函式 68
4.3.3 內置函式 69
4.4 實戰演練——購物簡易計算器 76
4.5 疑難解惑 78
第5章 對象與數組 79
5.1 了解對象 80
5.1.1 什麼是對象 80
5.1.2 面向對象編程 81
5.1.3 JavaScript的內部對象 82
5.2 對象訪問語句 83
5.2.1 for…in循環語句 83
5.2.2 with語句 84
5.3 JavaScript中的數組 85
5.3.2 創建和訪問數組對象 85
5.3.3 使用for…in語句 88
5.4 詳解常用的數組對象方法 96
5.4.1 連線其他數組到當前數組 96
5.4.2 將數組元素連線為字元串 97
5.4.3 移除數組中最後一個元素 97
5.4.4 將指定的數值添加到數組中 98
5.4.5 反序排列數組中的元素 99
5.4.6 刪除數組中的第一個元素 99
5.4.7 獲取數組中的一部分數據 100
5.4.8 對數組中的元素進行排序 101
5.4.9 將數組轉換成字元串 102
5.4.10 將數組轉換成本地字元串 103
5.4.11 在數組開頭插入數據 103
5.5 創建和使用自定義對象 104
5.5.1 通過構造函式定義對象 104
5.5.2 通過對象直接初始化定義對象 106
5.5.3 修改和刪除對象實例的屬性 107
5.5.4 通過原型為對象添加新屬性和新方法 108
5.5.5 自定義對象的嵌套 109
5.5.6 記憶體的分配和釋放 111
5.6 實戰演練——利用二維數組創建動態下拉選單 112
5.7 疑難解惑 113
第6章 日期與字元串對象 115
6.1 日期對象 116
6.1.1 創建日期對象 116
6.1.2 Date對象屬性 117
6.1.3 日期對象的常用方法 117
6.2 詳解日期對象的常用方法 120
6.2.1 返回當前日期和時間 120
6.2.2 以不同的格式顯示當前日期 121
6.2.3 返回日期所對應的是星期幾 122
6.2.4 顯示當前時間 122
6.2.5 返回距1970年1月1日午夜的時間差 123
6.2.6 以不同的格式來顯示UTC日期 124
6.2.7 根據世界時返回日期對應的是星期幾 125
6.2.8 以不同的格式來顯示UTC時間 125
6.2.9 設定日期對象中的年份、月份與日期值 126
6.2.10 設定日期對象中的小時、分鐘與秒鐘值 127
6.2.11 以UTC日期對Date對象進行設定 128
6.2.12 返回當地時間與UTC時間的差值 129
6.2.13 將Date對象中的日期轉化為字元串格式 130
6.2.14 返回一個以UTC時間表示的日期字元串 130
6.2.15 將日期對象轉化為本地日期 131
6.2.16 日期間的運算 131
6.3 字元串對象 132
6.3.1 創建字元串對象 132
6.3.2 字元串對象的常用屬性 133
6.3.3 字元串對象的常用方法 134
6.4 詳解字元串對象的常用方法 135
6.4.1 設定字元串字型屬性 135
6.4.2 以閃爍方式顯示字元串 136
6.4.3 轉換字元串的大小寫 136
6.4.4 連線字元串 137
6.4.5 比較兩個字元串的大小 138
6.4.6 分割字元串 139
6.4.7 從字元串中提取字元串 139
6.5 實戰演練1——製作網頁隨機驗證碼 140
6.6 實戰演練2——製作動態時鐘 142
6.7 疑難解惑 143
第2篇 核心技術
第7章 數值與數學對象 147
7.1 Number對象 148
7.1.1 創建Number對象 148
7.1.2 Number對象的屬性 148
7.1.3 Number對象的方法 151
7.2 詳解Number對象常用的方法 152
7.2.1 把Number對象轉換為字元串 152
7.2.2 把Number對象轉換為本地格式字元串 153
7.2.3 四捨五入時指定小數位數 153
7.2.4 返回以指數記數法表示的數值 154
7.2.5 以指數記數法指定小數位 154
7.3 Math對象 155
7.3.1 創建Math對象 155
7.3.2 Math對象的屬性 155
7.3.3 Math對象的方法 157
7.4 詳解Math對象常用的方法 158
7.4.1 返回數的絕對值 158
7.4.2 返回數的正弦值、正切值和餘弦值 158
7.4.3 返回數的反正弦值、反正切值和反餘弦值 160
7.4.4 返回兩個或多個參數中的最大值或最小值 162
7.4.5 計算指定數值的平方根 163
7.4.6 數值的冪運算 164
7.4.7 計算指定數值的對數 165
7.4.8 取整運算 165
7.4.9 生成0到1之間的隨機數 166
7.4.10 根據指定的坐標返回一個弧度值 167
7.4.11 返回大於或等於指定參數的最小整數 167
7.4.12 返回小於或等於指定參數的最大整數 168
7.4.13 返回以e為基數的冪 169
7.5 實戰演練——使用Math對象設計程式 170
7.6 疑難解惑 171
第8章 JavaScript的調試與最佳化 173
8.1 常見的錯誤和異常 174
8.2 處理異常的方法 175
8.2.1 用onerror事件處理異常 175
8.2.2 用try…catch…finally語句處理異常 177
8.2.3 使用throw語句拋出異常 178
8.3 使用調試器 179
8.3.1 IE瀏覽器內建的錯誤報告 179
8.3.2 用Firefox錯誤控制台調試 180
8.4.1 用alert()語句進行調試 181
8.4.2 用write()語句進行調試 181
8.5 JavaScript最佳化 182
8.5.1 減緩代碼下載時間 182
8.5.2 合理聲明變數 183
8.5.3 使用內置函式縮短編譯時間 183
8.5.4 合理書寫if語句 183
8.5.5 最小化語句數量 184
8.5.6 節約使用DOM 184
8.6 疑難解惑 185
第9章 文檔對象模型與事件驅動 187
9.1 文檔對象模型 188
9.1.1 認識文檔對象模型 189
9.1.2 文檔對象的產生過程 190
9.2 訪問節點 191
9.2.1 節點的基本概念 191
9.2.2 節點的基本操作 192
9.3 文檔對象模型的屬性和方法 203
9.4 在DOM模型中獲得對象 205
9.5 疑難解惑 206
10.1 文檔對象概述 210
10.2 文檔對象的屬性和方法 210
10.2.1 文檔對象的屬性 210
10.2.2 文檔對象的方法 211
10.3 文檔對象的套用 211
10.3.1 設定頁面顯示顏色 211
10.3.2 網頁錨點的設定 215
10.3.3 窗體對象form的套用 217
10.3.4 在文檔中輸出數據 218
10.3.5 打開新視窗並輸出內容 220
10.3.6 引用文檔中的表單和圖片 221
10.3.7 設定文檔中的超連結 223
10.4 實戰演練——綜合使用各種對話框 224
10.5 疑難解惑 226
第11章 window對象 227
11.1 了解window對象的屬性和方法 228
11.1.1 window對象的屬性 228
11.1.2 window對象的方法 229
11.2 對話框 229
11.2.1 警告對話框 229
11.2.2 詢問對話框 231
11.2.3 提示對話框 232
11.3 視窗操作 234
11.3.1 打開視窗 234
11.3.2 關閉視窗 235
11.3.3 控制視窗狀態欄 236
11.4 實戰演練——設定彈出視窗 237
11.5 疑難解惑 239
第12章 事件處理 241
12.1 了解事件與事件處理 242
12.1.1 事件與事件處理概述 242
12.1.2 JavaScript的常用事件 242
12.1.3 事件處理程式的調用 245
12.2 滑鼠和鍵盤事件 246
12.2.1 滑鼠的單擊事件 246
12.2.2 滑鼠的按下與鬆開事件 247
12.2.3 滑鼠的移入與移出事件 248
12.2.4 滑鼠的移動事件 249
12.2.5 鍵盤事件 250
12.3 JavaScript處理事件的方式 251
12.3.1 匿名函式方式 251
12.3.2 顯式聲明方式 252
12.3.3 手工觸發方式 253
12.4 實戰演練——通過事件控制文本框的背景顏色 254
12.5 疑難解惑 256
第3篇 高級套用
第13章 JavaScript控制表單和樣式表 259
13.1 表單在JavaScript中的套用 260
13.1.1 HTML表單基礎 260
13.1.2 編輯表單元素的腳本 263
13.1.3 使用JavaScript獲取網頁內容實現數據驗證 268
13.2 DHTML簡介 269
13.3 前台動態網頁效果 270
13.3.1 動態內容 270
13.3.2 動態樣式 271
13.3.3 動態定位 272
13.3.4 顯示與隱藏 275
13.4 實戰演練1——創建用戶反饋表單 276
13.5 實戰演練2——控制表單背景色和文字提示 277
13.6 疑難解惑 279
第14章 頁面列印和瀏覽器檢測 281
14.1 使用WebBrowser組件的execWB()方法列印 282
14.2 列印指定框架中的內容 286
14.3 分頁列印 287
14.4 設定頁眉/頁腳 290
14.5 瀏覽器檢測對象 293
14.5.1 瀏覽器對象的屬性 293
14.5.2 檢測瀏覽器的名稱與版本 294
14.6 疑難解惑 294
第15章 Cookie的概念、常用方法和技巧 295
15.1 Cookie概述 296
15.1.1 設定Cookie 296
15.1.2 保存Cookie數據 299
15.2 Cookie的常見操作 300
15.2.1 創建Cookie 300
15.2.2 讀取Cookie數據 301
15.2.3 刪除Cookie 301
15.3 實戰演練——在歡迎界面中設定和檢查Cookie 302
15.4 疑難解惑 303
第16章 JavaScript和Ajax技術 305
16.1 Ajax快速入門 306
16.1.1 什麼是Ajax 306
16.1.2 Ajax的關鍵元素 309
16.1.3 CSS在Ajax套用中的地位 309
16.2 Ajax的核心技術 310
16.2.2 發出Ajax請求 312
16.2.3 處理伺服器回響 313
16.3 實戰演練1——製作自由拖放的網頁 315
16.4 實戰演練2——製作載入條 320
16.5 疑難解惑 321
第17章 JavaScript的優秀倉庫—— jQuery 323
17.1 jQuery概述 324
17.1.1 jQuery能做什麼 324
17.1.2 jQuery的特點 324
17.2 jQuery的配置 325
17.3 jQuery選擇器 325
17.3.1 jQuery的工廠函式 325
17.3.2 常見的選擇器 326
17.4 jQuery控制頁面 328
17.4.1 對標記的屬性進行操作 328
17.4.2 對表單元素進行操作 330
17.5 jQuery的事件處理 332
17.6 jQuery的動畫效果 333
17.7 實戰演練——製作絢麗的多級動畫選單 336
17.8 疑難解惑 340
第18章 JavaScript的安全性 341
18.1 設定IE瀏覽器的安全區域 342
18.2 JavaScript代碼安全 343
18.2.1 禁止部分按鍵 343
18.2.2 禁止滑鼠右鍵 345
18.2.3 禁止網頁另外儲存為 346
18.2.4 禁止複製網頁內容 346
18.3 實戰演練——JavaScript代碼加密 348
18.4 疑難解惑 349
第4篇 項目案例實戰
第19章 項目實訓1——製作飛機大戰遊戲 353
19.1 系統功能描述 354
19.2 系統功能分析及實現 354
19.2.1 功能分析 354
19.2.2 功能實現 354
19.2.3 程式運行 362
第20章 項目實訓2——設計企業門戶類網頁 363
20.1 構思布局 364
20.1.1 設計分析 364
20.1.2 排版架構 364
20.2 內容設計 365
20.2.1 使用JavaScript技術實現Logo與導航選單 365
20.2.2 Banner區 366
20.2.3 資訊區 367
20.2.4 版權資訊 369
20.3 設定連結 370
第21章 項目實訓3——開發商品信息 展示系統 371
21.1 項目需求分析 372
21.2 項目技術分析 373
21.3 系統的代碼實現 373
21.3.1 設計首頁 373
21.3.2 開發控制器類的檔案 375
21.3.3 開發數據模型類檔案 376
21.3.4 開發視圖抽象類的檔案 378
21.3.5 項目中的其他js檔案說明 381