內容簡介
javascript是一種得到幾乎所有瀏覽器支持的腳本語言,用於實現客戶端與瀏覽者的互動。隨著網際網路的發展,早期的靜態網頁已遠不能滿足需要。客戶端腳本javascript是實現動態網頁的基礎,也是web 2.0概念所必需的組成部分,更是現在ajax技術的核心。可以說,javascript已經成為網頁的必要組成部分,好的javascript腳本可以提高用戶的瀏覽體驗。 本書一共分為四篇,涵蓋了javascript語言套用的絕大多數方面,從基本概念到具體實踐、從抽象的算法到具體的頁面特效、從最簡單的輸入/輸出到最新的xml技術都進行了詳細的闡述,並對每一個知識點都進行了詳細的實例講解。
《javascript從入門到精通(視頻實戰版)》的特點是知識點的講解易、廣、全、深。每一個知識點均圍繞具體的實例展開,且在實例中配上了詳細的注釋和效果圖,易於理解與實踐,可以使讀者在抽象的知識點中得到直觀的印象。本書深入介紹了javascript的本質,不僅講解了其在頁面特效中的套用,還挖掘了javascript作為一種基於對象語言所特有的類與繼承的實現。本書適合所有web開發的入門用戶閱讀,也可作為開發人員的參考手冊。
目錄
叢書序
前言
第一篇 javascript入門
第1章 必須了解的javascript知識 1
1.1 認識javascript 1
1.1.1 什麼是javascript 1
1.1.2 javascript的特點 1
1.2 javascript與java的區別 2
1.2.1 基於對象和面向對象 2
1.2.2 解釋和編譯 3
1.2.3 強變數和弱變數 3
1.2.4 代碼格式不同 3
1.2.5 嵌入方式不同 3
1.2.6 靜態聯編和動態聯編 3
1.3 javascript程式運行開發環境 4
1.4 javascript的優點與局限性 4
1.5 小結 5
1.6 常見面試題分析 5
1.7 本章習題 5
第2章 第一個例子—向用戶說“你好” 6
.2.1 第一個例子 6
2.1.1 最簡單的程式—“用戶你好” 6
2.1.2 在html中插入javascript塊 7
2.1.3 javascript代碼書寫規則 8
2.2 javascript基礎知識—變數和常量 9
2.2.1 變數命名規則 9
2.2.2 數據類型 10
2.3 告訴用戶當前時間 11
2.3.1 什麼是內置對象 11
2.3.2 內置對象date的方法 12
2.3.3 獲取時間和日期 13
2.4 在web頁上輸出 14
2.4.1 彈出警告框—alert 14
2.4.2 彈出確認“是/否”的對話框—confirm 14
2.4.3 輸出到頁面內容—document.write 15
2.5 改進版的“你好”程式 16
2.6 小結 17
2.7 常見面試題分析 17
2.8 本章習題 17
第3章 獲取用戶的輸入 18
3.1 示例:讓用戶輸入兩個數字,然後輸出相加的結果 18
3.2 javascript基礎知識—操作符和表達式 19
3.2.1 什麼叫表達式 19
3.2.2 什麼叫操作符 19
3.2.3 什麼是優先權 21
3.3 “一加一等於幾?”變數類型轉換 21
3.4 javascript基礎知識—字元串初探 23
3.4.1 什麼是字元串 23
3.4.2 字元串的書寫與轉義符 24
3.4.3 字元串操作 24
3.5 示例:讓用戶輸入自己的名字,輸出寫給用戶的情書 27
3.6 小結 29
3.7 常見面試題分析 29
3.8 本章習題 29
第4章 簡單的表單操作 30
4.1 示例:確認表單必填項目完整性 30
4.2 javascript基礎知識—函式 31
4.2.1 函式和變數作用域 31
4.2.2 函式的參數和返回值 34
4.2.3 什麼是遞歸調用 35
4.3 在表單提交時調用檢查函式—綁定事件到表單 37
4.3.1 什麼是事件 37
4.3.2 如何綁定事件 39
4.4 發生了什麼—獲取事件的內容 40
4.5 表單元素的屬性和方法 42
4.6 綜合套用示例—更人性化的表單 44
4.7 小結 45
4.8 常見面試題分析 46
4.9 本章習題 46
第5章 小遊戲—算24 47
5.1 示例:電腦幫你算24 47
5.2 javascript基礎知識—條件判斷 50
5.2.1 if語句 51
5.2.2 switch語句 52
5.2.3 不同類型數據的比較和邏輯操作 53
5.3 javascript基礎知識—循環 54
5.3.1 for循環 54
5.3.2 while循環 56
5.3.3 break和continue 57
5.4 javascript基礎知識—數組對象 57
5.4.1 如何引用數組對象 58
5.4.2 數組對象的屬性和方法 59
5.5 內置eval函式和錯誤捕獲機制 60
5.6 小結 62
5.7 常見面試題分析 63
5.8 本章習題 63
第6章 物理問題—炮彈的射程 64
6.1 示例:由初速度和仰角求射程 64
6.2 數學計算—內置對象math的屬性和方法 66
6.3 math對象套用—科學計算器 67
6.4 隨機函式和彩票遊戲 71
6.5 小結 75
6.6 常見面試題分析 75
6.7 本章習題 76
第二篇 javascript和頁面的互動
第7章 用cookie在客戶端保存信息 77
7.1 示例:用cookie實現可以記住內容的表單 77
7.2 什麼是cookie 80
7.2.1 http協定簡介 80
7.2.2 cookie存在的意義 81
7.2.3 cookie的優點和限制 82
7.3 把輸入框的內容保存在客戶端—使用cookie 83
7.3.1 cookie的保存和讀取 83
7.3.2 字元串的編碼 84
7.4 cookie的有效期、域和路徑 86
7.4.1 cookie的有效期和清除cookie的方法 86
7.4.2 用cookie實現記事貼 87
7.4.3 cookie的域和路徑及cookie欺騙 88
7.5 小結 90
7.6 常見面試題分析 90
7.7 本章習題 91
第8章 操作視窗和框架 92
8.1 示例:模擬live messenger的振動閃屏功能 92
8.2 控制視窗—視窗對象的事件、屬性和方法 94
8.2.1 獲取視窗的改變—視窗對象的事件 94
8.2.2 控制視窗的行為—視窗對象的方法 97
8.3 打開一個新視窗—視窗的“open”方法詳解 99
8.3.1 “open”方法的參數說明 99
8.3.2 檢測彈窗動作是否被攔截 101
8.3.3 色彩選擇器—“open”方法的套用 102
8.4 在網頁中使用自定義的對話框 105
8.4.1 模擬windows幫助效果—彈出式窗體的套用 106
8.4.2 模式對話框和非模式對話框 108
8.5 延時函式的使用 111
8.5.1 定時函式的設定和取消 111
8.5.2 綜合套用—動態提示視窗 113
8.6 可以收起的分欄—改變框架的分隔比例 115
8.6.1 嵌套視窗的結構 115
8.6.2 可以收起和展開的側框線架 116
8.6.3 跨視窗調用javascript腳本 118
8.7 小結 118
8.8 常見面試題分析 118
8.9 本章習題 119
第9章 控制你的表單—內容驗證 120
9.1 示例:表單數據的有效性驗證 120
9.2 用正則來判斷複雜的文本規則 124
9.2.1 什麼是正則 124
9.2.2 正則的優勢 124
9.2.3 正則的格式和含義 127
9.2.4 用regexp函式創建正則對象 129
9.2.5 示例代碼中正則的詳細解釋 129
9.3 文本的編碼和加密—正則和字元串操作 130
9.3.1 字元串的搜尋、匹配 130
9.3.2 字元串的替換 132
9.4 正則對象的屬性和方法 136
9.4.1 正則對象的屬性 137
9.4.2 正則對象的方法 137
9.5 正則示例套用—ubb代碼轉換 139
9.6 小結 141
9.7 常見面試題分析 141
9.8 本章習題 142
第10章 控制表單—和用戶的操作互動 143
10.1 示例:隨用戶操作而變化的表單 143
10.2 用戶操作會激發的事件 146
10.2.1 onchange事件 146
10.2.2 滑鼠和鍵盤事件 148
10.3 表單的狀態變化 149
10.3.1 唯讀和不可用狀態的改變 149
10.3.2 顯示和隱藏 150
10.4 表單的內容變化 150
10.4.1 文本框內容 150
10.4.2 單選框和複選框的選取 151
10.4.3 下拉列表框的聯動 151
10.5 小結 153
10.6 常見面試題分析 153
10.7 本章習題 153
第11章 複雜的跑馬燈 154
11.1 示例:一個向左彈性滑入、向上滑出的跑馬燈 154
11.2 用javascript控制內聯css 158
11.2.1 css名稱和javascript屬性的對應 158
11.2.2 內聯css樣式的讀取 164
11.2.3 內聯css樣式的設定和單位 166
11.2.4 示例:放大縮小文字 169
11.3 用javascript控制非內聯css 171
11.3.1 樣式表“stylesheet”對象 171
11.3.2 用樣式表對象實現切換皮膚的功能 173
11.3.3 樣式規則“rule”對象 175
11.4 確定頁面元素的位置 178
11.4.1 css2.0的盒模型 178
11.4.2 絕對定位和相對定位 180
11.5 給html元素添加自定義的屬性和方法 182
11.6 小結 184
11.7 常見面試題分析 184
11.8 本章習題 184
第12章 走近dom—構造導航列表 185
12.1 示例:可自定義的導航列表 185
12.2 dom—文檔對象模型 190
12.2.1 dom結構簡述 191
12.2.2 獲取瀏覽器信息—“navigator”對象 192
12.2.3 操作剪貼簿—“clipboarddata”對象 193
12.2.4 操作瀏覽器的歷史記錄—“history”對象 196
12.2.5 獲取當前頁面的url—“location”對象 196
12.2.6 讀取用戶的螢幕解析度—“screen”對象 197
12.3 使用dom的“document”對象 198
12.3.1 “document”對象特有的屬性 198
12.3.2 “document”對象特有的方法 200
12.3.3 執行列印、全選等命令—“execcommand”方法 203
12.4 插入和刪除元素 208
12.4.1 在容器元素的末尾插入元素—“appendchild”方法 208
12.4.2 在指定的元素前插入元素—“insertbefore”方法 210
12.4.3 “appendchild”與“insertbefore”方法的其他運用 210
12.4.4 刪除節點—“removechild”方法 211
12.5 小結 211
12.6 常見面試題分析 211
12.7 本章習題 212
第13章 dom套用—可排序的分頁表格 213
13.1 示例:可以按不同列排序、支持分頁的表格 213
13.2 表格對象的結構與動態改變表格 221
13.2.1 xhtml簡介 221
13.2.2 表格布局和div布局 221
13.2.3 表格對象的結構 222
13.2.4 表格對象的方法和集合 223
13.2.5 文本節點的使用 224
13.3 排序算法 225
13.3.1 排序的基本概念 226
13.3.2 示例:冒泡排序 226
13.3.3 示例:快速排序 228
13.3.4 示例:插入排序 231
13.3.5 示例:希爾(shell)排序 233
13.3.6 各種排序算法的比較和選擇 235
13.4 綁定數據到表格 236
13.4.1 實現數據綁定的邏輯結構 236
13.4.2 示例:簡單的數據綁定 237
13.4.3 向頁面中添加數據源 238
13.4.4 將數據源綁定到html元素 241
13.4.5 示例:數據綁定模型與分頁 243
13.4.6 數據綁定模型的事件 246
13.5 小結 247
13.6 常見面試題分析 247
13.7 本章習題 248
第14章 用js操作css濾鏡—構造一個自己的相冊 249
14.1 示例:自動縮放、有預載功能的相冊 249
14.2 javascript操作css界面濾鏡 253
14.2.1 示例:載入透明的“png”檔案—“alphaimageloader”濾鏡 253
14.2.2 示例:插入漸變背景—“gradient”濾鏡 256
14.3 javascript操作css靜態濾鏡 259
14.3.1 示例:透明漸變效果—“alpha”濾鏡 259
14.3.2 灰度、x光、鏡像效果—“basicimage”濾鏡 260
14.3.3 模糊效果—“blur”濾鏡 261
14.3.4 自定義透明色—“chroma”濾鏡 262
14.3.5 示例:混合不同的顯示—“compositor”濾鏡 263
14.3.6 陰影效果—“dropshadow”濾鏡和“shadow”濾鏡 265
14.3.7 示例:給對象添加光源—“light”濾鏡 266
14.3.8 示例:旋轉對象—“matrix”濾鏡 269
14.3.9 其他靜態濾鏡效果 271
14.4 javascript操作css動態濾鏡 273
14.4.1 css動態濾鏡支持的通用屬性和方法 273
14.4.2 示例:模擬開關門效果—“barn”濾鏡 274
14.4.3 格線推拉轉換效果—“checkerboard”濾鏡 275
14.4.4 示例:多功能的轉換效果—“revealtrans”濾鏡 276
14.4.5 其他動態濾鏡效果(一) 278
14.4.6 其他動態濾鏡效果(二) 280
14.5 圖片預載和尺寸控制 282
14.6 小結 283
14.7 常見面試題分析 283
14.8 本章習題 283
第三篇 javascript高級操作
第15章 javascript操作視頻控制項 285
15.1 示例:通用媒體播放器 285
15.2 “activex”控制項簡介 288
15.2.1 “activex”控制項的意義 289
15.2.2 在html頁面中使用“activex”控制項 290
15.3 javascript操作windows media player播放器 292
15.3.1 在網頁中插入“windows media player”控制項 293
15.3.2 “windows media player”控制項的腳本對象模型(一) 295
15.3.3 “windows media player”控制項的腳本對象模型(二) 300
15.3.4 “windows media player”控制項的腳本對象模型(三) 307
15.3.5 “windows media player”控制項的腳本對象模型(四) 312
15.3.6 “firefox”瀏覽器對“windows media player”控制項的支持 315
15.4 使用real player控制項播放流媒體檔案 316
15.4.1 在web頁面中插入“real player”控制項 316
15.4.2 “real player”控制項支持的屬性 316
15.4.3 “real player”控制項支持的方法 317
15.5 小結 321
15.6 常見面試題分析 321
15.7 本章習題 321
第16章 javascript操作xml 322
16.1 示例:載入xml檔案並實現查詢或修改 322
16.2 初識xml 327
16.2.1 xml簡介 327
16.2.2 xml文檔的結構 328
16.2.3 在web頁面中使用xml 330
16.3 xml控制項的文檔對象 331
16.3.1 xml文檔對象的屬性和方法 331
16.3.2 使用xml文檔對象對xml進行校驗 334
16.3.3 異步載入遠程xml檔案 335
16.3.4 “documentelement”對象 338
16.4 xml控制項的節點對象 339
16.4.1 xml控制項的節點對象類型 339
16.4.2 xml元素節點的屬性和方法 339
16.4.3 動態生成新的xml文檔 341
16.4.4 移動xml元素在文檔中的位置 345
16.4.5 利用xsl樣式錶轉換xml 348
16.5 在xml文檔中查找節點—“xpath” 350
16.5.1 在xml控制項套用中使用“xpath” 350
16.5.2 “xpath”簡介 351
16.5.3 “xpath”語法 351
16.5.4 “xpath”中的“軸”與運算符 353
16.6 小結 355
16.7 常見面試題分析 355
16.8 本章習題 356
第17章 javascript操作本地檔案 357
17.1 示例:檔案瀏覽器 357
17.2 fso對象和瀏覽器安全性限制 363
17.3 檔案系統對象 365
17.3.1 fso對象的屬性和遍歷驅動器集合 365
17.3.2 fso對象的方法(一) 367
17.3.3 fso對象的方法(二) 370
17.4 檔案、資料夾和文本流對象 373
17.4.1 檔案對象的屬性和方法 373
17.4.2 資料夾對象的屬性和方法 378
17.4.3 文本流對象的屬性和方法 379
17.5 fso套用示例—文本加密與解密 380
17.6 小結 384
17.7 常見面試題分析 385
17.8 本章習題 385
第18章 面向對象編程—javascript中的類與繼承 386
18.1 面向對象編程簡介 386
18.1.1 傳統編程方法的不足 386
18.1.2 面向對象的基本概念 387
18.1.3 面向對象編程的特徵 388
18.1.4 面向對象編程的要素 388
18.2 javascript中的類 389
18.2.1 javascript中類的構造 389
18.2.2 javascript類的屬性和方法 390
18.2.3 javascript類的原型—“prototype” 392
18.3 javascript的封裝與繼承 395
18.3.1 javascript的封裝 395
18.3.2 javascript的繼承 399
18.3.3 獲取函式對象的調用參數 401
18.3.4 獲取函式對象的上級函式 403
18.4 示例:構造一個選單類 406
18.5 小結 413
18.6 常見面試題分析 413
18.7 本章習題 413
第四篇 實例和框架
第19章 javascript綜合套用—模擬視窗 415
19.1 可拖動的模擬視窗 415
19.1.1 模擬視窗特效的功能目標設計 416
19.1.2 模擬視窗特效的html內容 417
19.1.3 模擬視窗特效所用的樣式表內容 419
19.2 模擬視窗的自動構造 421
19.2.1 初始化腳本環境和通用的函式 421
19.2.2 模擬視窗特效中用到的通用函式 423
19.2.3 初始化模擬視窗對象 425
19.3 模擬視窗的自定義方法和事件 429
19.3.1 視窗的拖動與縮放效果 430
19.3.2 禁止選取—“onselectstart”事件 436
19.3.3 模擬視窗的自定義方法 437
19.3.4 自定義的定時器對象 444
19.4 小結 446
第20章 使用第三方框架(程式庫) 447
20.1 使用ajax框架 447
20.1.1 使用一個微型的框架sack 447
20.1.2 使用一個有用的表單驗證框架checkform 460
20.1.3 相關資源 474
20.2 使用jquery框架 476
20.2.1 jquery框架介紹 476
20.2.2 jquery框架示例 476
20.2.3 jquery的外掛程式介紹—thickbox 479
20.2.4 相關資源 480
20.3 prototype框架和其他更多的框架介紹 480
20.4 小結 481
20.5 常見面試題分析 481
20.6 本章習題