第1章 JavaScript基礎
1.1 JavaScript概述
1.1.1 JavaScript發展曆史
1.1.2 ECMAScript與JavaScript的關係
1.1.3 ECMAScript版本變化
1.1.4 ECMAScript5和ECMAScript6
1.2 JavaScript相關概念
1.2.1 JavaScript核心
1.2.2 文檔對象模型
1.2.3 瀏覽器對象模型
第2章 初次使用JavaScript
2.1 在網頁中嵌入JavaScript腳本
2.1.1 編寫腳本
2.1.2 腳本位置
2.1.3 設置延遲執行
2.1.4 設置異步響應
2.2 執行JavaScript程序
2.2.1 執行過程
2.2.2 預編譯
2.2.3 代碼塊
2.2.4 響應事件
2.2.5 設計動態腳本
第3章 代碼測試和錯誤處理
3.1 瀏覽器與JavaScript
3.1.1 瀏覽器內核
3.1.2 瀏覽器錯誤報告
3.2 JavaScript開發工具
3.2.1 JavaScript編輯器
3.2.2 JavaScript測試和調試
3.2.3 使用控製颱
3.3 錯誤處理
3.3.1 認識錯誤類型
3.3.2 使用try-catch
3.3.3 使用finally
3.3.4 使用throw
3.3.5 拋齣時機
3.3.6 錯誤事件
第4章 JavaScript基本語法
4.1 基本詞法
4.1.1 字符編碼
4.1.2 區分大小寫
4.1.3 標識符
4.1.4 直接量
4.1.5 關鍵字和保留字
4.1.6 分隔符
4.1.7 注釋
4.1.8 轉義序列
4.2 使用變量
4.2.1 聲明變量
4.2.2 賦值變量
4.2.3 變量的作用域
4.2.4 避免變量汙染
4.3 數據類型
4.3.1 基本數據類型
4.3.2 數值
4.3.3 字符串
4.3.4 布爾值
4.3.5 Null
4.3.6 Undefined
4.4 嚴格模式
4.4.1 啓用嚴格模式
4.4.2 嚴格模式的執行限製
4.5 案例實戰
4.5.1 使用typeof檢測類型
4.5.2 使用constructor檢測類型
4.5.3 封裝類型檢測方法:toString()
4.5.4 轉換為字符串
4.5.5 轉換數字模式
4.5.6 設置數字顯示的小數位數
4.5.7 轉換為數字
4.5.8 轉換為布爾值
4.5.9 轉換為對象
4.5.10 把對象轉換為值
4.5.11 強製轉換
第5章 使用運算符
5.1 運算符概述
5.2 算術運算符
5.2.1 加法運算
5.2.2 減法運算
5.2.3 乘法運算
5.2.4 除法運算
5.2.5 餘數運算
5.2.6 取反運算
5.2.7 遞增和遞減
5.3 邏輯運算符
5.3.1 邏輯與運算
5.3.2 邏輯或運算符
5.3.3 邏輯非運算符
5.3.4 案例:邏輯運算訓練
5.4 關係運算符
5.4.1 大小比較
5.4.2 案例:包含檢測
5.4.3 案例:等值檢測
5.5 賦值運算符
5.6 對象操作運算符
5.6.1 new運算符
5.6.2 delete運符
5.6.3 中括號和點號運算符
5.6.4 小括號運算符
5.7 其他運算符
5.7.1 條件運算符
5.7.2 逗號運算符
5.7.3 void運算符
5.8 案例實戰
5.8.1 使用錶達式
5.8.2 連續運算
5.8.3 把命令轉換為錶達式
5.8.4 錶達式中的函數
第6章 設計程序結構
6.1 語句概述
6.1.1 錶達式語句
6.1.2 復閤語句
6.1.3 聲明語句
6.1.4 空語句
6.2 分支結構
6.2.1 if語句
6.2.2 條件嵌套
6.2.3 設計分支結構
6.2.4 switch語句
6.2.5 default從句
6.2.6 比較if和switch
6.2.7 優化分支結構
6.3 循環結構
6.3.1 while語句
6.3.2 do/while語句
6.3.3 for語句
6.3.4 for/in語句
6.3.5 比較while和for
6.3.6 優化循環結構
6.4 結構跳轉
6.4.1 標簽語句
6.4.2 break語句
6.4.3 continue語句
6.5 案例實戰
6.5.1 提升分支運算性能
6.5.2 提升循環運算性能
6.5.3 設計楊輝三角
第7章 使用數組
7.1 定義數組
7.1.1 構造數組
7.1.2 數組直接量
7.2 使用數組
7.2.1 存取數組元素
7.2.2 數組長度
7.2.3 對象與數組
7.2.4 定義多維數組
7.3 使用數組對象
7.3.1 檢索數組
7.3.2 操作元素
7.3.3 操作子數組
7.3.4 數組排序
7.3.5 使用排序函數
7.3.6 數組與字符串的轉換
7.3.7 定位
7.3.8 迭代
7.3.9 匯總
7.4 案例實戰
7.4.1 快速交換
7.4.2 數組下標
7.4.3 擴展數組方法
7.4.4 設計迭代器
7.4.5 使用迭代器
7.4.6 使用數組維度
第8章 使用函數
8.1 定義函數
8.1.1 聲明函數
8.1.2 構造函數
8.1.3 函數直接量
8.1.4 定義嵌套函數
8.1.5 比較定義函數的方法
8.2 使用函數
8.2.1 函數返迴值
8.2.2 調用函數
8.2.3 函數作用域
8.3 使用參數
8.3.1 定義參數
8.3.2 使用arguments對象
8.3.3 使用callee迴調函數
8.3.4 應用arguments對象
8.4 使用函數對象
8.4.1 獲取函數形參個數
8.4.2 自定義屬性
8.4.3 使用call()和apply()
8.4.4 使用bind()
8.5 使用this
8.5.1 使用this
8.5.2 this安全策略
8.5.3 應用this
8.5.4 函數調用模式
8.5.5 函數的標識符
8.6 使用閉包函數
8.6.1 認識閉包函數
8.6.2 使用閉包
8.6.3 定義閉包存儲器
8.6.4 在事件處理中應用閉包
8.7 案例實戰
8.7.1 綁定函數
8.7.2 鏈式語法
8.7.3 函數節流
8.7.4 分支函數
8.7.5 惰性載入函數
8.7.6 惰性求值
8.7.7 記憶
8.7.8 構建模塊
8.7.9 柯裏化
8.7.10 高階函數
8.7.11 遞歸運算
8.7.12 尾遞歸算法
第9章 使用對象
9.1 創建對象
9.1.1 使用構造函數創建對象
9.1.2 使用對象直接量創建對象
9.1.3 使用create()方法創建對象
9.2 操作對象
9.2.1 引用對象
9.2.2 復製對象
9.2.3 剋隆繼承
9.2.4 銷毀對象
9.3 操作屬性
9.3.1 定義屬性
9.3.2 訪問屬性
9.3.3 賦值屬性
9.3.4 刪除屬性
9.3.5 使用方法
9.3.6 配置特性
9.3.7 檢測特性
9.4 使用方法
9.4.1 使用toString()
9.4.2 使用valueOf()
9.4.3 檢測私有屬性
9.4.4 檢測枚舉屬性
9.4.5 檢測原型對象
9.4.6 靜態方法
9.5 使用原型
9.5.1 定義原型
9.5.2 比較原型屬性和本地屬性
9.5.3 應用原型
9.5.4 原型域和原型域鏈
9.5.5 原型繼承
9.5.6 擴展原型方法
9.6 案例實戰
9.6.1 設計工廠模式
9.6.2 設計類繼承
9.6.3 設計構造原型模式
9.6.4 設計動態原型模式
9.6.5 設計實例繼承
9.6.6 惰性實例化
9.6.7 安全構造對象
第10章 BOM操作
10.1 使用window對象
10.1.1 訪問瀏覽器窗口
10.1.2 全局作用域
10.1.3 使用係統測試方法
10.1.4 打開和關閉窗口
10.1.5 使用框架集
10.1.6 控製窗口位置
10.1.7 控製窗口大小
10.1.8 使用定時器
10.2 使用navigator對象
10.2.1 瀏覽器檢測方法
10.2.2 檢測瀏覽器類型和版本號
10.2.3 檢測客戶操作係統
10.2.4 檢測插件
10.3 使用location對象
10.4 使用history對象
10.5 使用screen對象
10.6 使用document對象
10.6.1 訪問文檔對象
10.6.2 動態生成文檔內容
10.7 案例實戰
10.7.1 使用遠程腳本
10.7.2 設計遠程交互
10.7.3 使用浮動框架
10.7.4 封裝用戶代理檢測
第11章 DOM操作
11.1 DOM基礎
11.2 使用節點
11.2.1 節點類型
11.2.2 節點名稱和值
11.2.3 節點關係
11.2.4 訪問節點
11.2.5 操作節點
11.3 使用文檔節點
11.3.1 訪問文檔子節點
11.3.2 訪問文檔信息
11.3.3 訪問文檔元素
11.3.4 訪問文檔集閤
11.3.5 使用HTML5 Document
11.4 使用元素節點
11.4.1 訪問元素
11.4.2 遍曆元素
11.4.3 創建元素
11.4.4 復製節點
11.4.5 插入節點
11.4.6 刪除節點
11.4.7 替換節點
11.4.8 獲取焦點元素
11.4.9 檢測包含節點
11.5 使用文本節點
11.5.1 訪問文本節點
11.5.2 創建文本節點
11.5.3 操作文本節點
11.5.4 讀取HTML字符串
11.5.5 插入HTML字符串
11.5.6 替換HTML字符串
11.5.7 插入文本
11.6 使用文檔片段節點
11.7 使用屬性節點
11.7.1 訪問屬性節點
11.7.2 讀取屬性值
11.7.3 設置屬性值
11.7.4 刪除屬性
11.7.5 使用類選擇器
11.7.6 自定義屬性
11.8 使用範圍
11.8.1 創建範圍
11.8.2 選擇範圍
11.8.3 設置範圍
11.8.4 操作範圍內容
11.8.5 插入範圍內容
11.8.6 摺疊範圍
11.8.7 比較範圍
11.8.8 復製和清除範圍
11.9 使用CSS選擇器
11.10 案例實戰
11.10.1 設計動態腳本
11.10.2 使用script加載遠程數據
11.10.3 使用script實現異步交互
11.10.4 使用JSONP
11.10.5 設計動態錶格
11.10.6 訪問DOM集閤
11.10.7 在微博分享選中文本
第12章 事件處理
12.1 事件基礎
12.1.1 事件模型
12.1.2 事件流
12.1.3 事件類型
12.1.4 綁定事件
12.1.5 事件處理函數
12.1.6 注冊事件
12.1.7 銷毀事件
12.1.8 使用event對象
12.1.9 事件委托
12.2 使用鼠標事件
12.2.1 鼠標點擊
12.2.2 鼠標移動
12.2.3 鼠標經過
12.2.4 鼠標來源
12.2.5 鼠標定位
12.2.6 鼠標按鍵
12.3 使用鍵盤事件
12.3.1 鍵盤事件屬性
12.3.2 鍵盤響應順序
12.4 使用頁麵事件
12.4.1 頁麵初始化
12.4.2 結構初始化
12.4.3 頁麵卸載
12.4.4 窗口重置
12.4.5 頁麵滾動
12.4.6 錯誤處理
12.5 使用UI事件
12.5.1 焦點處理
12.5.2 選擇文本
12.5.3 字段值變化監測
12.5.4 提交錶單
12.5.5 重置錶單
12.5.6 剪貼闆數據
12.6 案例實戰
12.6.1 封裝事件
12.6.2 模擬事情
12.6.3 設計彈齣對話框
12.6.4 設計遮罩層
12.6.5 自定義事件
12.6.6 設計事件觸發模型
12.6.7 應用事件模型
第13章 使用正則錶達式與錶單驗證
13.1 正則錶達式操作基礎
13.1.1 定義正則錶達式
13.1.2 訪問正則錶達式對象
13.1.3 執行匹配操作
13.1.4 訪問匹配信息
13.1.5 條件檢測
13.2 正則錶達式語法基礎
13.2.1 字符描述
13.2.2 字符範圍
13.2.3 選擇操作
13.2.4 重復類量詞
13.2.5 惰性模式
13.2.6 邊界量詞
13.2.7 聲明量詞
13.2.8 錶達式分組
13.2.9 子錶達式引用
13.3 案例實戰
第14章 字符串處理與錶單開發
14.1 字符串操作基礎
14.1.1 定義字符串
14.1.2 字符串的值和字符長度
14.1.3 字符串連接
14.1.4 字符串查找
14.1.5 字符串截取
14.1.6 字符串替換
14.1.7 字符串大小轉換
14.1.8 字符串比較
14.1.9 字符串與數組轉換
14.1.10 字符串格式化
14.1.11 字符編碼和解碼
14.1.12 Unicode編碼和解碼
14.2 案例實戰
14.2.1 訪問錶單對象
14.2.2 訪問錶單元素
14.2.3 訪問字段屬性
14.2.4 訪問文本框的值
14.2.5 文本框過濾
14.2.6 切換焦點
14.2.7 訪問選擇框的值
14.2.8 編輯選項
14.2.9 字符串替換的高級應用
14.2.10 字符串修剪
14.2.11 檢測特殊字符
14.2.12 自定義加密和解密
14.2.13 錶單序列化
14.2.14 設計文本編輯器
第15章 CSS腳本化與網頁特效
15.1 CSS腳本化基礎
15.1.1 訪問CSS行內樣式
15.1.2 使用style對象
15.1.3 使用styleSheets對象
15.1.4 使用selectorText對象
15.1.5 編輯樣式
15.1.6 添加樣式
15.1.7 訪問計算樣式
15.2 元素大小
15.2.1 訪問CSS寬度和高度
15.2.2 把值轉換為整數
15.2.3 使用offsetWidth和offset Height
15.2.4 元素尺寸
15.2.5 視圖尺寸
15.2.6 窗口尺寸
15.3 位置偏移
15.3.1 窗口位置
15.3.2 相對位置
15.3.3 定位位置
15.3.4 設置偏移位置
15.3.5 設置相對位置
15.3.6 鼠標指針絕對位置
15.3.7 鼠標指針相對位置
15.3.8 滾動條位置
15.3.9 設置滾動條位置
15.4 顯示隱藏
15.4.1 可見性
15.4.2 透明度
15.5 案例實戰
15.5.1 滑動
15.5.2 漸顯
第16章 使用Ajax實現異步通信
16.1 使用XML數據
16.1.1 新建XML文檔
16.1.2 訪問XML數據
16.1.3 創建XML DOM對象
16.1.4 加載XML數據
16.1.5 顯示XML數據
16.1.6 案例:在網頁中顯示XML數據
16.1.7 案例:異步加載XML數據
16.2 使用JSON數據
16.2.1 JSON結構
16.2.2 案例:JSON與XML格式比較
16.2.3 案例:JSON數據優化
16.2.4 案例:解析JSON
16.2.5 案例:序列化JSON
16.3 使用Ajax
16.3.1 HTTP頭部信息
16.3.2 定義XMLHttpRequest對象
16.3.3 建立XMLHttpRequest連接
16.3.4 發送GET請求
16.3.5 發送POST請求
16.3.6 轉換串行化字符串
16.3.7 跟蹤狀態
16.3.8 中止請求
16.3.9 獲取XML數據
16.3.10 獲取HTML文本
16.3.11 獲取JavaScript腳本
16.3.12 獲取JSON數據
16.3.13 獲取純文本
16.3.14 獲取頭部信息
16.4 案例實戰
16.4.1 封裝異步請求操作
16.4.2 動態顯示提示信息
16.4.3 動態查詢記錄集
16.4.4 記錄集分頁顯示
16.4.5 設計Tab麵闆
16.4.6 關鍵字匹配
16.4.7 使用燈標
第17章 本地數據存儲571
17.1 使用cookie
17.1.1 寫入cookie信息
17.1.2 讀取cookie信息
17.1.3 修改和刪除cookie信息
17.1.4 附加cookie信息
17.1.5 封裝cookie操作
17.1.6 案例:打字遊戲
17.2 使用Web Storage
17.2.1 基本操作
17.2.2 案例:設計網頁皮膚
17.2.3 案例:跟蹤localStorage數據
17.2.4 案例:設計計數器
17.3 使用Web SQL
17.3.1 基本操作
17.3.2 案例:創建本地數據庫
17.3.3 案例:批量存儲本地數據
17.4 案例實戰
第18章 JavaScript圖形設計
18.1 HTML 5 canvas基礎
18.1.1 在頁麵中插入canvas元素
18.1.2 繪製圖形的基本方法
18.1.3 使用canvas
18.2 繪製圖形
18.2.1 繪製直綫
18.2.2 繪製矩形
18.2.3 繪製圓形
18.2.4 繪製多邊形
18.2.5 繪製麯綫
18.2.6 繪製二次方麯綫
18.2.7 繪製三次方麯綫
18.3 設置圖形樣式
18.3.1 設置綫型
18.3.2 繪製綫性漸變
18.3.3 繪製徑嚮漸變
18.3.4 繪製圖案
18.3.5 設置不透明度
18.3.6 設置陰影
18.4 操作圖形
18.4.1 保存和恢復canvas狀態
18.4.2 清除繪圖
18.4.3 移動坐標
18.4.4 鏇轉坐標
18.4.5 縮放圖形
18.4.6 變換矩陣
18.4.7 組閤圖形
18.4.8 裁切路徑
18.5 繪製文字
18.5.1 繪製填充文字
18.5.2 設置文字屬性
18.5.3 繪製輪廓文字
18.5.4 測量寬度
18.6 繪製圖像
18.6.1 導入圖像
18.6.2 變換圖像
18.6.3 裁切圖像
18.6.4 圖像平鋪
18.6.5 像素處理
18.7 案例實戰
18.7.1 設計canvas動畫
18.7.2 保存繪圖
第19章 離綫應用
19.1 HTML5離綫應用基礎
19.1.1 認識HTML5離綫應用
19.1.2 瀏覽器支持
19.1.3 使用manifest文件
19.1.4 使用離綫緩存
19.1.5 監聽離綫存儲
19.2 案例實戰
19.2.1 緩存首頁
19.2.2 離綫編輯內容
19.2.3 離綫跟蹤
第20章 多綫程處理
20.1 Web Workers基礎
20.1.1 認識Web Workers
20.1.2 瀏覽器支持
20.1.3 創建Web Workers
20.1.4 Web Workers通信674
20.1.5 案例:使用Web Workers675
20.2 案例實戰
20.2.1 後颱運算
20.2.2 數值過濾
20.2.3 並發處理
20.2.4 綫程通信
20.2.5 Fibonacci數列運算
第21章 文件操作
21.1 訪問文件域
21.2 使用Blob對象
21.2.1 在文件域中訪問Blob對象
21.2.2 創建Blob對象
21.2.3 截取Blob對象
21.2.4 保存Blob對象
21.3 使用FileReader對象
21.3.1 讀取並顯示文件
21.3.2 監測讀取操作
21.4 使用緩存對象
21.4.1 使用ArrayBuffer對象
21.4.2 使用ArrayBufferView對象
21.4.3 使用DataView對象
21.5 使用FileSystem
21.5.1 訪問文件係統
21.5.2 申請配額
21.5.3 創建文件
21.5.4 寫入文件
21.5.5 添加數據
21.5.6 讀取文件
21.5.7 復製文件
21.5.8 刪除文件
21.5.9 創建目錄
21.5.10 讀取目錄
21.5.11 刪除目錄
21.5.12 復製目錄
21.5.13 移動和重命名目錄
21.5.14 使用filesystem:URL
21.6 案例實戰
第22章 使用History
22.1 History API基礎
22.1.1 History API處理方式
22.1.2 瀏覽器兼容和擴展
22.1.3 操作曆史記錄
22.2 案例實戰
22.2.1 設計無刷新頁麵導航
22.2.2 設計主題宣傳網站
22.2.3 設計圖片畫廊
22.2.4 設計曆史恢復
第23章 案例實戰
23.1 設計摺疊麵闆
23.2 設計計算器
23.3 設計萬年曆
23.4 設計俄羅斯方塊
23.4.1 設計遊戲界麵
23.4.2 設計遊戲模型
23.4.3 實現遊戲功能
· · · · · · (
收起)