王者歸來:征服JavaScript

作者:朱印宏

出版社:佳魁資訊

出版日期:2012年01月17日

語言:繁體中文 ISBN:9789866007224

書號:PB1203

定價:780元 75折價:585元

有看部落格的才有此優惠喔

也可到露天購買http://goods.ruten.com.tw/item/show?21201318187969
內容簡介

本書是學習JavaScript的權威書籍,以通俗、生動的語言描述了各種“冰冷”的技術話題和概念應用,同時在詳盡的描述中,對於重點、困難技術和知識點,總會不厭其煩地進行旁徵博引。在遵循語言學習的特殊規律基礎上精心選材,在結構上展現系統性和完整性。不僅關心JavaScript 語言詞法、語法體系的完整性,同時系統講解JavaScript 核心特性,以及JavaScript 的重要應用。同時還重點挖掘JavaScript基於物件的開發精髓及函數式編程兩個技術核心,幫助讀者在趣味閱讀中體驗JavaScript理性思維的快樂。

  適用於具有一定程式開發基礎、準備學習JavaScript語言或希望提高JavaScript語言技巧的讀者,也可作為相關培訓機構的教材。

章節目錄

第一篇 壯志從戎

第一章 與初學者談談JavaScript學習
1.1 學之初,你應該清楚的幾個概念 
1.1.1 B/S 和C/S 
1.1.2 RWC 和RIA 
1.1.3 結構、行為和表現 
1.2 審視JavaScript 語言特性 
1.2.1 JavaScript 是一門靈活的指令碼語言 
1.2.2 JavaScript 是基於物件的語言
1.2.3 JavaScript 是函數式語言 
1.3 JavaScript 語言風雲錄 
1.3.1 JavaScript 尋根 
1.3.2 三國志──JavaScript、JScript 和ECMAScript 
1.3.3 一個好漢三個幫──使用者端的JavaScript 實現 
1.3.4 春秋五霸──令人生畏的瀏覽器混戰和相容 
1.4 JavaScript 執行環境
1.4.1 宿主環境
1.4.2 執行期環境 
1.5 JavaScript 解析機制 
1.5.1 預編譯
1.5.2 執行期 
1.6 JavaScript 執行順序
1.6.1 按HTML 檔案流循序執行JavaScript 程式碼 
1.6.2 預編譯與執行順序的關係
1.6.3 按區塊執行JavaScript 程式碼 
1.6.4 借助事件機制改變JavaScript 執行順序 
1.6.5 JavaScript 輸出指令稿的執行順序 
1.7 JavaScript 應用範圍 
1.7.1 使用者端的JavaScript 
1.7.2 伺服器端的JavaScript 
1.7.3 其他環境的JavaScript 
1.8 JavaScript 開發工具箱
1.8.1 關於Web 瀏覽器
1.8.2 關於JavaScript 編輯器
1.8.3 關於JavaScript 測試和偵錯工具

第二章 Hello,World--JavaScript 開發初體驗
2.1 楊輝三角─第一個JavaScript 程式
2.1.1 萬物皆有規律─問題分析 
2.1.2 遞迴演算法設計
2.1.3 最佳化演算法設計 
2.1.4 輸出楊輝三角
2.2 在網頁中嵌入JavaScript 指令稿 
2.2.1 使用script 元素嵌入指令稿 
2.2.2 探析外部指令檔 
2.2.3 注意JavaScript 指令檔的關聯性 
2.2.4 使用介面技術解決JavaScript 檔案衝突
2.2.5 JavaScript 檔案與CSS 檔案匯入和執行衝突
2.2.6 <script> 標籤在文件中的位置 
2.2.7 杞人憂天─隱藏JavaScript 指令稿 
2.2.8 關心細節─使用noscript 元素 
2.3 糾正寫程式的習慣 
2.3.1 JavaScript 解碼基本規範 
2.3.2 想法整理器─寫好註釋 
2.3.3 留白的藝術─格式化程式碼
2.4 程式偵錯
2.4.1 簡單的手工偵錯
2.4.2 使用1st JavaScript Editor 偵錯器進行偵錯
2.4.3 使用Microsoft Script Debugger 進行偵錯
2.4.4 例外處理

第二篇 沙場秋點兵

第三章 運籌帷幄--俯瞰JavaScript 語法體系
3.1 JavaScript 語言詞法基礎 
3.1.1 從字元解碼開始接觸JavaScript 語言 
3.1.2 認識JavaScript 的實詞和虛詞概念 
3.1.3 對大小寫比較敏感的實詞 
3.1.4 實詞類型 
3.1.5 虛詞類型
3.2 JavaScript 語言句法基礎
3.2.1 認識句法三要素:詞、句和段
3.2.2 點號──邏輯域定位符
3.2.3 逗號──連續運算元 
3.2.4 分號──敘述分隔符號號 
3.2.5 冒號──邏輯宣告符
3.2.6 大括號──邏輯域分隔符號號 
3.2.7 中括號──有序清單分隔符號號
3.2.8 小括號──強制運算元或邏輯分隔符號號

第四章 JavaScript 血液系統--資料、資料類型和變數
4.1 從資料到類型 
4.1.1 資料的本質
4.1.2 柔弱的JavaScript 語言 
4.1.3 JavaScript 的基底資料型別
4.1.4 數之源──數值型別和參考類型 
4.1.5 原始值和參考值的操作本質
4.2 數值型別資料
4.2.1 線性思維的符號──數值 
4.2.2 形象思維的顏料──字串 
4.2.3 邏輯思維的卵細胞──布林型 
4.2.4 空無道人──null
4.2.5 人之初──undefined 
4.3 參考類型資料 
4.3.1 有序資料結構──陣列
4.3.2 離散資料結構──物件
4.3.3 魔獸資料──函數 
4.4 資料類型檢測和轉換
4.4.1 資料類型檢測 
4.4.2 數值型別資料的自動轉換 
4.4.3 參考型資料的自動轉換
4.4.4 把值轉換為字串
4.4.5 把值轉換為數位
4.4.6 把值轉換為布林值 
4.4.7 裝箱和拆箱
4.4.8 資料類型的強制轉換
4.5 使用變數 
4.5.1 宣告變數
4.5.2 醜陋的JavaScript 變數
4.5.3 不可跨越的門檻──變數的作用域 
4.5.4 圈裡圈外──屬性與變數 
4.5.5 變數的作用域鏈
4.5.6 變數的垃圾回收

第五章 JavaScript 肌肉系統--運算子、運算式
5.1 說說運算子和運算式 
5.1.1 語言實際上就是資料和運算的交流工具
5.1.2 運算子是運算的解碼器
5.1.3 走入運算子的童話世界
5.1.4 領略運算子的魔法法則 
5.1.5 運算的人性化,還是隨意性 
5.1.6 警惕運算子的副作用 
5.1.7 運算式是運算的最小邏輯單元 
5.1.8 最佳化運算式的思維品質 
5.2 天人合一─位運算子 
5.2.1 位元運算是整數的逐位元運算 
5.2.2 探秘二進位數字運算奧秘
5.2.3 邏輯位元運算
5.2.4 移位運算
5.3 童言無忌─算術運算 
5.3.1 加法的特殊運算 
5.3.2 減法的特殊運算
5.3.3 乘法的特殊運算 
5.3.4 除法的特殊運算 
5.3.5 取模的特殊運算
5.3.6 取反運算 
5.3.7 心臟起搏器──遞增和遞減 
5.4 離散思維─字串運算子 
5.5 真真假假論乾坤─邏輯運算子
5.5.1 邏輯與運算 
5.5.2 邏輯或運算子 
5.5.3 邏輯非運算子
5.5.4 邏輯思維訓練 
5.6 貨比三家─關係運算子
5.6.1 大小關係檢測
5.6.2 包含關係檢測
5.6.3 等值關係檢測
5.7 複製資料─設定運算子
5.8 物件操作運算子
5.8.1 女媧造人──new 運算子
5.8.2 垃圾資源回收筒──delete 運算子 
5.8.3 I/O 介面──存取運算子 
5.8.4 光碟驅動器──函式呼叫運算子
5.9 其他運算子
5.9.1 迷你版分支邏輯──條件運算子 
5.9.2 期待與收穫──逗號運算子
5.9.3 俯首甘為孺子牛──void 運算子
5.9.4 身份驗證──類型檢測運算子

第六章 JavaScript 神經骨骼系統--敘述、結構
6.1 從運算式到敘述
6.1.1 什麼是句子 
6.1.2 兩面性──運算式、運算式敘述
6.1.3 群居性──複合陳述式
6.1.4 形影相隨──句子、結構 
6.1.5 不被執行的──宣告敘述 
6.1.6 敘述預留位置──空敘述
6.2 分支結構
6.2.1 if 敘述 
6.2.2 if 結構 
6.2.3 else if 敘述 
6.2.4 預防if 結構嵌套的主觀性 
6.2.5 if 結構中容易躲藏的Bug
6.2.6 switch 敘述 
6.2.7 悟透default 從句用法 
6.2.8 恰當選用if 結構和switch 結構 
6.2.9 分支結構中邏輯順序的最佳化 
6.3 迴圈結構 
6.3.1 while 敘述 
6.3.2 do/while 敘述
6.3.3 for 敘述
6.3.4 for/in 敘述 
6.3.5 靈活使用for/in 結構
6.3.6 如何正確選用while 和for 結構 
6.3.7 最佳化迴圈結構和提昇迴圈效率
6.4 結構的邏輯干預 
6.4.1 有序思維的錨點──標籤敘述
6.4.2 跳出往後執行──break 敘述
6.4.3 繼續重新執行──continue 敘述
6.5 邏輯例外處理 
6.5.1 剖析例外和例外種類 
6.5.2 知法犯法──throw 敘述 
6.5.3 例外處理器──try/catch/finally 敘述 
6.6 函數體結構 
6.6.1 惰性氣體──function 敘述 
6.6.2 函數輸出介面──return 敘述
6.7 臨時作用域結構──with 敘述

第三篇 初戰告捷

第七章 盒子裡的魔術--透視JavaScript 函數
7.1 認識函數 
7.1.1 函數是一段程式碼區塊 
7.1.2 函數是一類資料 
7.1.3 函數是一種物件
7.2 定義JavaScript 函數 
7.2.1 複製結構──建構函數
7.2.2 複雜結構的常數──函數常值 
7.2.3 定義嵌套函數 
7.3 函式定義方法比較
7.3.1 函數作用域的比較 
7.3.2 解析機制的比較 
7.3.3 相容性和靈活性比較 
7.4 探析函數基本用法
7.4.1 函數傳回值
7.4.2 呼叫函數
7.4.3 函數的生命週期
7.4.4 函數的作用域
7.5 深入函數的參數 
7.5.1 認識函數的形式參數和實際參數
7.5.2 參數管理器──Arguments 物件 
7.5.3 回呼函數─callee 屬性揭秘
7.5.4 Arguments 物件在實作中靈活應用 
7.6 使用函數物件 
7.6.1 獲得函數形式參數個數 
7.6.2 靈敏的指標──有趣的this 關鍵字
7.6.3 雙刃劍──正確使用this 關鍵字 
7.6.4 自訂函數屬性和方法
7.6.5 存錢桶─巧用函數的屬性實現蓄能
7.6.6 誰的屬性和方法──this 與函數屬性和方法的混合使用
7.6.7 動態呼叫函數──詭異的call() 和apply() 方法
7.6.8 更改指標─call() 和apply() 方法高級應用
7.7 資料暫存器─閉包函數
7.7.1 認識閉包
7.7.2 分析閉包結構的基本特性 
7.7.3 閉包的基本應用

第八章 大象也有形--把握JavaScript 物件
8.1 初識物件 
8.1.1 什麼是物件 
8.1.2 物件是如何出生的 
8.2 物件類型
8.2.1 本機物件 
8.2.2 內建物件 
8.2.3 主物件
8.3 物件基本操作 
8.3.1 建立物件
8.3.2 參考物件
8.3.3 銷毀物件 
8.4 物件的屬性和方法
8.4.1 定義物件的屬性 
8.4.2 存取物件的屬性 
8.4.3 設置和刪除物件屬性
8.4.4 物件的方法 
8.5 物件的作用域
8.5.1 公共作用域 
8.5.2 私有作用域 
8.5.3 靜態作用域 
8.5.4 變形怪傑──作用域中的this
8.6 建構物件、實例物件和原型物件
8.6.1 建構物件 
8.6.2 實例物件
8.6.3 原型物件 
8.7 建構元 
8.7.1 參考建構元──constructor 屬性
8.7.2 建構元的原型繼承 
8.7.3 根據建構元判定物件類型
8.8 物件基本方法和應用
8.8.1 物件的字串標誌──toString() 方法
8.8.2 物件的值──valueOf() 方法 
8.8.3 檢測私有屬性──hasOwnProperty() 方法
8.8.4 檢測列舉屬性──propertyIsEnumerable() 方法
8.8.5 檢測原型物件──isPrototypeOf() 方法
8.9 探析JavaScript 核心物件
8.9.1 大象無形──Global 物件 
8.9.2 數學專家──Math 物件 
8.9.3 時間管理──Date 物件

第九章 有序世界的信使--操作陣列
9.1 透視資料集合
9.1.1 資料集合的類型 
9.1.2 特殊數集──雜湊表
9.2 定義陣列
9.3 陣列基本操作 
9.3.1 存取陣列元素 
9.3.2 能夠自由伸縮的陣列
9.3.3 陣列的大小 
9.3.4 物件與陣列 
9.3.5 暗度陳倉──定義多維陣列 
9.4 陣列方法及其應用 
9.4.1 檢索陣列元素 
9.4.2 增加和刪除元素 
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 利用陣列反覆運算器擴充陣列方法

第十章 變相怪傑--駕馭字串
10.1 傷心字串:使用值還是使用參考 
10.1.1 思考是發現問題的鑰匙 
10.1.2 直擊字串操作的真相
10.1.3 字串是如何進行比較的 
10.2 建立字串
10.2.1 定義字串常值 
10.2.2 建構字串
10.2.3 使用字元解碼建立字串 
10.3 使用字串 
10.3.1 獲得字串的字元和位元組長度 
10.3.2 連接字串
10.3.3 尋找字串 
10.3.4 截取子字串
10.3.5 編輯字串 
10.3.6 暗藏玄機──replace() 方法深層技術探討 
10.3.7 比較字串 
10.3.8 把字串轉換為陣列 
10.3.9 字串的類型和值
10.3.10 格式化字串方法 
10.4 String 物件擴充及用法
10.4.1 模擬VBScript 字串處理函數
10.4.2 檢測特殊字元
10.4.3 提昇字元串連接操作效率 
10.5 字串加密和解密 
10.5.1 JavaScript 預定義解碼和解碼方法
10.5.2 Unicode 解碼 
10.5.3 Unicode 解碼
10.5.4 自訂加密和解密方法

第十一章 靈異的牧羊犬--使用正則運算式操縱字串
11.1 第六感──認識正則運算式
11.1.1 什麼是正則運算式
11.1.2 正則運算式的發展歷史
11.2 定義正則運算式
11.2.1 使用RegExp 物件建構正則運算式 
11.2.2 定義正則運算式常值 
11.3 正則運算式基本語法──字元類 
11.3.1 認識普通字元和元字元
11.3.2 字元常值 
11.3.3 定義簡單字元類 
11.3.4 定義反義字元類 
11.3.5 定義字元範圍類
11.3.6 預定義字元類 
11.4 正則運算式基本語法──重複類數量詞
11.4.1 簡單重複性比對 
11.4.2 貪婪比對 
11.4.3 惰性比對 
11.4.4 支配比對 
11.5 高級比對模式 
11.5.1 分組 
11.5.2 分組的應用價值 
11.5.3 參考 
11.5.4 非參考型分組 
11.5.5 選擇 
11.5.6 宣告
11.5.7 邊界 
11.5.8 錨記
11.5.9 標誌 
11.6 操作RegExp 物件 
11.6.1 實例屬性 
11.6.2 靜態屬性 
11.6.3 正則運算式的方法 
11.6.4 比較各種模式比對的方法

第四篇 直搗黃龍

第十二章 BOM--探訪客戶的秘密
12.1 認識瀏覽器物件模型(BOM) 
12.2 用戶端全域物件──Window 
12.2.1 全域作用域
12.2.2 Window 物件的生命週期
12.2.3 人機互動──學習JavaScript 第一步 
12.2.4 控制快顯視窗 
12.2.5 框架之間的通訊 
12.3 檢測客戶瀏覽器資訊──Navigator 物件 
12.3.1 了解常用瀏覽器檢測方法 
12.3.2 檢測瀏覽器類型和版本 
12.3.3 檢測用戶端作業系統 
12.4 用戶端導覽──Location 和History 物件
12.4.1 全球定位儀──Location 物件
12.4.2 瀏覽簡史──History 物件
12.5 視窗大小控制──Screen 和Window 物件
12.5.1 螢幕大小──Screen 物件
12.5.2 視窗大小──Window 物件 
12.6 0 級文件物件模型──Document 物件
12.6.1 認識文件物件──Document
12.6.2 0 級文件物件模型及其讀寫規則
12.6.3 動態產生文件

第十三章 DOM--控制文件結構的模型
13.1 認識DOM 
13.1.1 DOM 發展概述 
13.1.2 檢測瀏覽器對DOM 規範支援程度 
13.1.3 DOM 核心
13.1.4 DOM 節點
13.2 操作DOM 文件
13.2.1 HTML DOM 載入過程及其處理
13.2.2 DOM 文件支援的檢查指標
13.2.3 文件檢查中的空格Bug 及其清除
13.2.4 實現一個簡單的文件檢查 
13.2.5 擴充檢查指標函數 
13.2.6 透過原型繼承擴充DOM 元素的方法 
13.2.7 增加文件內容 
13.3 操作DOM 節點 
13.3.1 獲得節點 
13.3.2 建立節點 
13.3.3 複製節點 
13.3.4 插入節點
13.3.5 刪除節點 
13.3.6 替換節點 
13.4 操作元素的屬性
13.4.1 獲得節點屬性 
13.4.2 設置節點屬性 
13.4.3 刪除節點屬性 
13.4.4 存取JavaScript 屬性 
13.5 操作元素的內容
13.5.1 獲得元素包含的純文字
13.5.2 獲得元素包含的HTML 資訊 .

第十四章 Event--JavaScript 事件驅動模型
14.1 認識JavaScript 事件 
14.1.1 你未必了解的事件概念
14.1.2 事件驅動模型 
14.1.3 事件處理和監聽函數
14.1.4 多執行緒與非同步回檔 
14.2 事件流及其傳播
14.2.1 事件傳播過程
14.2.2 反昇型事件流
14.2.3 捕捉型事件流
14.2.4 DOM 標準事件流
14.3 DOM 0 級事件模型
14.3.1 原始事件的處理方式 
14.3.2 斫石取火──定義事件
14.3.3 直接呼叫──事件處理函數之趣
14.3.4 冷落的傳回值──事件處理函數之痕
14.3.5 隱形的參數──事件處理函數之謎 
14.3.6 再說this──事件處理函數之惑 
14.3.7 身在曹營心在漢──事件處理函數之域
14.4 DOM 2 級事件模型
14.4.1 認識DOM 2 級事件模型 
14.4.2 綁定和銷毀事件 
14.4.3 為物件註冊多個事件處理函數 
14.4.4 相容0 級事件模型的處理方法 
14.4.5 相容IE 的事件處理方法
14.5 IE 事件模型 
14.5.1 認識IE 事件模型
14.5.2 綁定和銷毀事件
14.5.3 設計可相容的Event 物件
14.6 事件類型 
14.6.1 事件類型概述 
14.6.2 滑鼠事件
14.6.3 鍵盤事件
14.6.4 頁面事件 
14.6.5 UI 事件
14.6.6 表單事件

第十五章 CSS--設計HTML 動態效果
15.1 DOM 2 級樣式控制模型
15.1.1 CSSStyleSheet 介面 
15.1.2 CSSStyleRule 介面
15.1.3 CSSStyleDeclaration 介面 
15.2 DOM 0 級樣式控制模型 
15.2.1 style 物件 
15.2.2 使用style 物件讀寫行內樣式 
15.2.3 styleSheets 集合
15.2.4 存取CSS 樣式表 
15.2.5 讀寫CSS 規則 
15.2.6 存取最終樣式
15.2.7 修改CSS 樣式的方法比較
15.3 尺寸 
15.3.1 從CSS 樣式表中抽取元素尺寸
15.3.2 把抽取的尺寸轉化為實際值
15.3.3 使用offsetWidth 和offsetHeight 獲得元素的尺寸
15.3.4 超越offsetWidth 和offsetHeight 的缺陷 
15.3.5 更複雜的元素尺寸
15.3.6 可視區域外捲動尺寸
15.3.7 瀏覽器視窗的尺寸 
15.4 位置 
15.4.1 獲得元素在瀏覽器視窗中的位置
15.4.2 獲得元素相對父元素的位置 
15.4.3 獲得元素相對包含區塊的位置
15.4.4 設置元素的偏移位置 
15.4.5 設置元素的相對位置
15.4.6 獲得滑鼠指標的頁面位置
15.4.7 獲得滑鼠指標在元素內的位置
15.4.8 獲得頁面捲軸的位置
15.4.9 設置頁面捲軸的位置
15.5 顯示和隱藏
15.5.1 元素的可見性
15.5.2 顯示和隱藏功能封裝
15.5.3 設置和獲得元素的透明度
15.6 動畫 
15.6.1 計時器
15.6.2 滑動
15.6.3 漸隱漸顯

第五篇 飛鴻傳書

第十六章 Cookie--使用者資訊儲存、交互與安全
16.1 Cookie 概述 
16.1.1 Cookie 回眸
16.1.2 Cookie 資訊的結構 
16.2 存取Cookie 資訊 
16.2.1 寫入Cookie 資訊
16.2.2 設置Cookie 有效期 
16.2.3 設置Cookie 的域和路徑 
16.2.4 設置Cookie 安全傳輸
16.2.5 完善寫入的Cookie 資訊
16.2.6 讀取Cookie 資訊 
16.2.7 修改和刪除Cookie 資訊
16.2.8 Cookie 的局限性及其突破 
16.2.9 探測瀏覽器是否啟用Cookie
16.3 Cookie 封裝與應用
16.3.1 Cookie 封裝
16.3.2 Cookie 應用:打字測試遊戲

第十七章 XML 和JSON--JavaScript 資料處理模式
17.1 更通用的資料──XML
17.1.1 認識XML
17.1.2 XML 文件結構概述 
17.1.3 宣告
17.1.4 處理指示
17.1.5 註釋 
17.1.6 標記和元素
17.1.7 XML 屬性
17.2 XML DOM 文件物件模型
17.2.1 認識XML DOM 文件物件模型
17.2.2 讀取XML 資料
17.3 IE 對XML 的支援
17.3.1 建立XML DOM 物件
17.3.2 載入XML 資料 
17.3.3 資料載入錯誤處理 
17.4 Mozilla 對XML 的支援 
17.4.1 建立XML DOM 物件
17.4.2 載入XML 資料 
17.4.3 讀取XML 資料 
17.5 XML 資料導覽器──XPath
17.5.1 XPath 基本語法
17.5.2 IE 對XPath 的支援 
17.5.3 Mozilla 對XPath 的支援
17.6 更敏捷的資料──JSON 
17.6.1 JSON 簡介
17.6.2 深入JSON 資料核心

第十八章 Ajax--JavaScript 通訊介面與非同步互動引擎
18.1 網路那點事兒──濃縮的HTTP 
18.1.1 HTTP 請求 
18.1.2 HTTP 回應
18.2 暗度陳倉──從隱藏框架說起 
18.2.1 隱藏框架 
18.2.2 非同步互動與回檔處理 
18.2.3 使用iframe 處理非同步互動 
18.3 巧連環──JSONP 與跨域非同步互動 
18.3.1 小聰明大智慧─<script> 標籤背後的故事 
18.3.2 動態控制script 元素實現可控非同步通訊 
18.3.3 script 非同步通訊的參數傳遞
18.3.4 script 非同步通訊的回應資料類型 
18.3.5 JSONP 非同步通訊協定 
18.3.6 JSONP 的安全問題
18.4 Ajax──更高效的非同步通訊介面18.4.1 認識XMLHttpRequest 物件
18.4.2 定義XMLHttpRequest 物件
18.4.3 建立XMLHttpRequest 請求連接 
18.5 Request──發送請求 
18.5.1 發送GET 請求 
18.5.2 發送POST 請求 
18.5.3 把資料轉換為串列字串
18.6 State──非同步狀態監測
18.6.1 跟蹤Ajax 非同步通訊狀態 
18.6.2 中止非同步請求 
18.7 Response──獲得回應資訊
18.7.1 XML
18.7.2 HTML 
18.7.3 Code
18.7.4 JSON
18.7.5 Text 
18.7.6 獲得和設置表頭訊息 
18.8 Ajax 通訊功能封裝和應用
18.8.1 封裝非同步請求函數
18.8.2 使用Ajax 改進Tab 顯示

第六篇 壯士凱旋

第十九章 視覺化思維--深入JavaScript 物件導向程式設計
19.1 書非借不能讀也──說類別
19.1.1 類別與物件 
19.1.2 類別成員:屬性、方法和事件
19.1.3 類別的基本特性:繼承、封裝和多型
19.2 定義JavaScript 類別 
19.2.1 小老闆為什麼能年掙百萬──工廠模式
19.2.2 拿來主義──建構函數模式
19.2.3 遺傳栽培法──原型模式
19.2.4 雜交栽培法──建構函數原型模式 
19.2.5 滴灌法──動態原型模式
19.3 契約書──JavaScript 介面
19.3.1 新版黔驢技窮──大話介面 
19.3.2 簽訂契約書──介面的本質
19.3.3 大道理簡單化──JavaScript 介面實現方法一
19.3.4 孔明點燈──JavaScript 介面實現方法二
19.3.5 雞肋還是雞翅──JavaScript 介面選用之惑 
19.4 JavaScript 繼承機制──原型(prototype)
19.4.1 認識prototype
19.4.2 剪不斷理還亂──辨析泛類別、類型、原型和物件實例
19.4.3 形似神異──建構類別的原型和本機特性 
19.4.4 四大皆空──關於類別的唯空論 
19.4.5 原型屬性的基本操作和應用技巧 
19.4.6 定義靜態原型方法
19.4.7 prototype 原型域及原型鏈
19.4.8 prototype 的副作用
19.5 JavaScript 基因圖譜──繼承 
19.5.1 認識JavaScript 的繼承機制
19.5.2 原型繼承
19.5.3 類別繼承的源起 
19.5.4 類別繼承的設計模式
19.5.5 深入了解類別繼承中call() 和apply() 角色
19.5.6 封裝類別繼承機制
19.5.7 實例繼承 
19.5.8 複製繼承
19.5.9 複製繼承
19.5.10 混合繼承 
19.5.11 多重繼承
19.5.12 混成類別 
19.6 類別的封裝
19.6.1 類別的被動封裝 
19.6.2 類別的主動封裝 
19.6.3 定義類別的靜態方法和屬性 
19.7 類別的多型 
19.7.1 方法的重載和覆蓋 
19.7.2 類別的多型 
19.8 善始善終──類別的建構和解構 
19.8.1 建構 
19.8.2 動態建構 
19.8.3 解構 
19.9 類別的抽象化──超類別、子類別和母類別
19.9.1 超類別和子類別
19.9.2 母類別

第二十章 卜算子--深入JavaScript函數式程式設計
20.1 JavaScript 函數式程式設計概述 
20.1.1 函數是第一型
20.1.2 函數是運算元 
20.1.3 函數是資料閉包
20.2 運算式運算 
20.2.1 實現連續運算的常用方法 
20.2.2 嘗試把所有指令式敘述轉換為連續運算 
20.2.3 運算式中的函數 
20.2.4 函數的惰性與非惰性求值 
20.2.5 函式呼叫堆疊
20.3 遞迴運算 
20.3.1 認識遞迴 
20.3.2 猜一猜,算一算──遞迴演算法示範 
20.3.3 遞迴演算法
20.3.4 遞迴模型 
20.3.5 Hanoi(漢諾)塔演算法 
20.3.6 尾遞迴演算法 
20.3.7 Fibonacci(費氏)數列 
20.3.8 遞迴演算法的最佳化
20.4 高處不勝寒──破解函數域之惑
20.4.1 我是誰──JavaScript 執行環境與函數解析機制
20.4.2 我從哪來──詞法作用域與執行作用域 
20.4.3 尋找迷失的遠方──作用域鏈 
20.4.4 我又在哪裡──呼叫物件
20.5 天宮之旅──函數閉包 
20.5.1 從圈外看閉包
20.5.2 從圈內看函數閉包 
20.5.3 解剖閉包結構──認識閉包識別字系統
20.5.4 覆蓋還是層疊──關於閉包函數的作用域問題
20.5.5 生存還是毀滅──關於閉包函數的生存週期問題 
20.5.6 辨析函數與閉包 
20.5.7 奇怪的不等式──函數、呼叫、參考和實例
20.5.8 夢裡花落知多少──閉包函數與函數實例
20.5.9 剪不斷理還亂──閉包函數與呼叫物件
20.5.10 保護閉包資料的獨立性
20.5.11 始祖鳥──建構函數閉包
20.5.12 想你所想──函數式程式設計中閉包的應用價值 
20.5.13 一起聯想──函數式程式設計中閉包的橋樑作用 
20.5.14 預防中毒──閉包的副作用 
20.6 我是誰?──徹底研究this 
20.6.1 who is this──確認this 的身份 
20.6.2 what is this──this 的本質 
20.6.3 where is this──在哪兒使用this
20.6.4 how to do this──this 應對策略

第二十一章 流水不腐--深入JavaScript 動態化程式設計
21.1 使用eval() 方法動態執行敘述
21.1.1 動態值、運算式和敘述
21.1.2 物件和函數常值的歧義問題
21.1.3 eval 全域執行域及其相容方法
21.1.4 eval 目前執行域
21.2 動態呼叫函數
21.2.1 函式呼叫方法及執行效率比較 
21.2.2 函數的呼叫物件
21.2.3 動態呼叫中的this 指標 
21.2.4 在動態呼叫中實現繼承
21.2.5 動態呼叫中易迷失的this 指標 
21.2.6 嵌套函式呼叫中的副作用
21.3 動態重新定義 
21.3.1 重新定義原型物件 
21.3.2 重新定義建構元
21.3.3 重新定義方法

arrow
arrow
    全站熱搜

    ETAITBOOK08 發表在 痞客邦 留言(0) 人氣()