JavaScript 編程精解
內容描述
<內容簡介>
如果你只想閱讀一本關于JavaScript的圖書,那么本書應該是你的首選。本書由世界級JavaScript程序員撰寫,JavaScript之父和多位JavaScript專家鼎力推薦。本書適合作為系統學習JavaScript的參考書,它在寫作思路上幾乎與現有的所有同類書都不同,打破常規,將編程原理與運用規則完美地結合在一起,而且將所有知識點與一個又一個經典的編程故事融合在一起,讀者可以在輕松的游戲式開發中學會JavaScript程序設計,趣味性十足,可操作性極強。
???全書一共12章:第1~3章介紹了JavaScript的基本語法,旨在幫助讀者編寫出正確的JavaScript程序,包含數字、算術、字符串、變量、程序結構、控制流程、類型、函數、對象和數組等最基礎和最核心的內容;第4~7章講解了JavaScript編程中的高級技術,目的是幫助讀者編寫更復雜的JavaScript程序,主要涉及錯誤處理、函數式編程、面向對象編程、模塊化等重要內容;第8~12章則將重心轉移到JavaScript環境中可用的工具上,分別詳細講解了正則表達式、與Web編程相關的知識、文檔對象模型、瀏覽器事件和HTTP請求等。
<目錄>
對本書的贊譽
譯者序
前言
第1章 JavaScript基礎:值、變量、控制流程
1.1?? 值
1.1.1?? 數字
1.1.2 算術
1.1.3 字符串
1.1.4 一元操作符
1.1.5 布爾值、比較和布爾邏輯
1.1.6 表達式與語句
1.2?? 變量
1.3?? 環境
1.3.1?? 函數
1.3.2 prompt和confirm
1.3.3 print函數
1.3.4 修改環境
1.4 程序結構
1.4.1 條件執行
1.4.2 while循環與do循環
1.4.3 縮進代碼
1.4.4 for循環
1.4.5 跳出循環
1.4.6 更新變量簡便法
1.4.7 使用switch進行調度
1.4.8 大小寫
1.4.9 注釋
1.5 進一步認識類型
1.5.1 Undefined值
1.5.2 自動類型轉換
1.5.3 自動類型轉換的風險
1.5.4 進一步了解&&和||
第2章 函數
2.1 剖析函數定義
2.1.1 定義順序
2.1.2 局部變量
2.1.3 嵌套作用域
2.1.4 棧
2.1.5 函數值
2.1.6 閉包
2.1.7 可選參數
2.2 技巧
2.2.1 避免重復
2.2.2 純函數
2.2.3 遞歸
第3章 數據結構:對象與數組
3.1 問題:Emily姨媽家的貓
3.2 基本數據結構
3.2.1 屬性
3.2.2 對象值
3.2.3 對象即集合
3.2.4 易變性
3.2.5 對象即集合:數組
3.2.6 方法
3.3 解決關于Emily姨媽家貓的問題
3.3.1 分離段落
3.3.2 找出相關段落
3.3.3 提取貓的名字
3.3.4 完整算法
3.3.5 清理代碼
3.3.6 日期表示
3.3.7 日期提取
3.3.8 收集更多信息
3.3.9 數據表示
3.4 更多理論
3.4.1 arguments對象
3.4.2 完成掃尾工作
3.4.3 Math對象
3.4.4 可枚舉屬性
第4章 錯誤處理
4.1 問題類型
4.1.1 程序員錯誤
4.1.2 運行時錯誤
4.2 處理錯誤
4.2.1 返回特殊值
4.2.2 異常
4.2.3 異常之後的錯誤清除
4.2.4 Error對象
4.2.5 未處理的異常
4.2.6 選擇性Catch
4.3 自動化測試
第5章 函數式編程
5.1 抽象
5.2 高階函數
5.2.1 修改函數
5.2.2 歸約函數
5.2.3 映射數組
5.3 隱士的悲慘故事
5.3.1 HTML
5.3.2 隱士的文本文件
5.3.3 找出段落
5.3.4 強調與腳注
5.3.5 移動腳注
5.3.6 生成HTML
5.3.7 轉化隱士的書
5.4 其他函數技巧
5.4.1 操作符函數
5.4.2 分布應用
5.4.3 組合
第6章 面向對象編程
6.1 對象
6.1.1 定義方法
6.1.2 構造函數
6.1.3 從原型中構建
6.1.4 構造函數與原型
6.1.5 原型污染
6.1.6 對象即詞典
6.1.7 指定接口
6.2 構建生態系統模擬
6.2.1 定義生態圈
6.2.2 空間里的點
6.2.3 呈現網格
6.2.4 昆蟲的編程接口
6.2.5 生態圈對象
6.2.6 this及其作用域
6.2.7 有活力的生命
6.2.8 昆蟲移動
6.2.9 更多生命形式
6.2.10 多態性
6.3 更逼真的模擬生態系統
6.3.1 繼承
6.3.2 記錄能量
6.3.3 添加植物
6.3.4 食草動物
6.3.5 為它帶來生命
6.3.6 人工愚蠢
6.4 原型繼承
6.4.1 類型定義工具
6.4.2 類型原型
6.4.3 對象的世界
6.4.4 instanceof操作符
6.4.5 混合類型
第7章 模塊化
7.1 模塊
7.1.1 生態圈例子
7.1.2 模塊文件化
7.2 模塊的形態
7.2.1 函數作為局部命名空間
7.2.2 模塊對象
7.3 接口設計
7.3.1 可預見性
7.3.2 可組合性
7.3.3 分層接口
7.3.4 參數對象
7.4 JS庫
第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 動態創建RegExp 對象
8.3 解析.ini文件
8.4 結論
第9章 Web編程:速成課
9.1 互聯網
9.1.1 URL網址
9.1.2 服務器端編程
9.1.3 客戶端編程
9.2 Web腳本基礎知識
9.2.1 windows對象
9.2.2 document對象
9.2.3 計時器
9.2.4 表單
9.2.5 表單腳本化
9.2.6 自動焦點
9.3 瀏覽器非兼容性
9.4 延伸閱讀
第10章 文檔對象模型
10.1 DOM元素
10.1.1 節點鏈接
10.1.2 節點類型
10.1.3 innerHTML屬性
10.1.4 查找節點
10.1.5 創建節點
10.1.6 節點創建輔助函數
10.1.7 移動節點
10.1.8 print實現
10.2 樣式表
10.2.1 樣式屬性
10.2.2 隱藏節點
10.2.3 定位
10.2.4 控制節點大小
10.3 警示語
第11章 瀏覽器事件
11.1 事件句柄
11.1.1 注冊事件句柄
11.1.2 事件對象
11.1.3 鼠標相關事件類型
11.1.4 鍵盤事件
11.1.5 停止事件
11.1.6 事件對象正規化
11.1.7 跟蹤焦點
11.1.8 表單事件
11.1.9 window事件
11.2 示例:實現推箱子
11.2.1 等級輸入格式
11.2.2 程序設計
11.2.3 游戲板展示
11.2.4 控制器對象
第12章 HTTP請求
12.1 HTTP協議
12.2 XMLHttpRequest API
12.2.1 創建請求對象
12.2.2 簡單的請求
12.2.3 發送異步請求
12.2.4 獲取XML數據
12.2.5 讀取JSON數據
12.2.6 基本的請求包裝
12.3 學習HTTP