《JavaScript征途》掃描版[PDF]

  • 资源大小:
  • 资源类别:课件
  • 支持语言:全部
  • 预览图片:无预览图
  • 资源格式:综合
  • 资源作者:网络
  • 更新时间:2013-5-30 21:54:56
  • 推荐指数:
  • 运行系统:全部型号
以下是资源列表 推荐使用 电驴 或 迅雷 进行下载
[JavaScript征途].朱印宏.掃描版.pdf 135.9MB
资源简介
語言: 簡體中文 地區: 大陸 圖書分類: 網絡 中文名: JavaScript征途 發行時間: 2009年9月7日 資源格式: PDF 版本: 掃描版 簡介:
評論處1樓有網盤鏈接
内容介紹:
本書是一本學習javascript語言的權威書籍,在遵循語言學習的特殊規律基礎上精心選材,力争做到統籌、有序,在結構上體現系統性和完整性。同時還重點挖掘javascript基于對象的開發精髓及函數式編程兩個技術核心。.
本書内容全面,由淺入深,包括6篇21章,主要内容包括:javascript語言的基本特性,開發簡單的javascript程序,javascript語法體系,數據、數據類型和變量,運算符和表達式,語句和結構,javascript函數, javascript對象,數組,字符串,使用正則表達式操縱字符串,客戶端,控制文檔結構的模型,javascript事件驅動模型,css,cookie,xml和json,ajax,深入javascript面向對象編程,深入javascript函數式編程,深入javascript動态化編程等。..
本書适用于具有一定程序開發基礎、準備學習javascript語言或希望提高javascript語言技巧的讀者,還可作爲相關培訓班的教材。...
内容截圖:
目錄: 第1篇 壯志從戎.
第1章 與初學者談談javascript學習 3
1.1 學之初,你應該清楚的幾個概念 3
1.1.1 b/s和c/s 3
1.1.2 rwc和ria 4
1.1.3 結構、行爲和表現 4
1.2 審視javascript語言特性 5
1.2.1 javascript是一門靈活的腳本語言 5
1.過程化設計 6 2.定義原型方法 6
3.封裝原型方法 6 4.造車不如設計标準 7
5.方法接龍 7 6.實例體驗 8
1.2.2 javascript是基于對象的語言 8
1.萬物皆爲對象 8 2.奇怪的指針 9
3.靈活的用法 9
1.2.3 javascript是函數式語言 10
1.八面玲珑的函數 10 2.函數的作用域 11
3.奇怪的函數閉包 11 4.函數的上下文對象 11
1.3 javascript語言風雲錄 12
1.3.1 javascript尋根 12
1.3.2 三國志—javascript、jscript和ecmascript 13
.1.3.3 一個好漢三個幫—客戶端的javascript實現 14
1.dom 15 2.bom 15
1.3.4 春秋五霸—令人生畏的浏覽器混戰和兼容 16
1.mozilla 16 2.ie 16
3.safari 17 4.opera 17
5.chrome 17 6.浏覽器兼容方法 17
1.4 javascript運行環境 18
1.4.1 宿主環境 18
1.4.2 執行期環境 19
1.5 javascript解析機制 19
1.5.1 預編譯 19
1.5.2 執行期 22
1.6 javascript執行順序 23
1.6.1 按html文檔流順序執行javascript代碼 23
1.6.2 預編譯與執行順序的關系 24
1.6.3 按塊執行javascript代碼 25
1.6.4 借助事件機制改變javascript執行順序 26
1.6.5 javascript輸出腳本的執行順序 26
1.7 javascript應用範圍 29
1.7.1 客戶端的javascript 29
1.7.2 服務器端的javascript 30
1.7.3 其他環境的javascript 30
1.8 javascript開發工具箱 30
1.8.1 關于web浏覽器 30
1.8.2 關于javascript編輯器 31
1.8.3 關于javascript測試和調試工具 31
1.浏覽器的錯誤控制平台 31 2.firebug 33
3.httpwatch 33 4.web developer toolbar 34
5.javascript debuger 34
第2章 hello,world—javascript開發初體驗 35
2.1 楊輝三角—第一個javascript程序 35
2.1.1 萬物皆有規律—問題分析 37
2.1.2 遞歸算法設計 38
2.1.3 優化算法設計 39
2.1.4 輸出楊輝三角 39
2.2 在網頁中嵌入javascript腳本 40
2.2.1 使用script元素嵌入腳本 40
1.設置腳本類型 41 2.導入外部腳本文件 41
3.設置腳本的字符編碼 42 4.設置腳本延遲執行 42
5.設置腳本在服務器端執行 42
2.2.2 探析外部腳本文件 42
1.導入外部腳本文件 43 2.何時使用外部javascript腳本文件 44
2.2.3 注意javascript腳本文件的關聯性 44
2.2.4 使用接口技術解決javascript文件沖突 45
2.2.5 javascript文件與css文件導入和執行沖突 46
2.2.6 (script)标簽在文檔中的位置 48
2.2.7 杞人憂天—隐藏javascript腳本 49
2.2.8 關注細節—使用noscript元素 49
2.3 糾正編碼習慣 50
2.3.1 javascript編碼基本規範 51
1.javascript文件規範 51 2.代碼縮進 51
3.代碼長度 51 4.代碼注釋 51
5.變量聲明 52 6.函數聲明 52
7.标識符命名 52 8.語句 53
9.标簽 53
2.3.2 思路梳理器—寫好注釋 53
1.單行注釋 53 2.多行注釋 54
2.3.3 留白的藝術—格式化代碼 55
1.使用空行分隔代碼塊 55 2.空格是代碼稀釋劑 55
3.嵌套與縮進 55 4.換行縮進 56
5.大括号的位置 56 6.空結構的格式 56
7.單句結構的格式 56
2.4 程序調試 57
2.4.1 簡單的手工調試 57
2.4.2 使用1st javascript editor調試器進行調試 58
1.逐步調試 59 2.斷點 60
3.觀察 60
2.4.3 使用microsoft script debugger進行調試 61
2.4.4 異常處理 63
1.異常處理的基本結構 64 2.異常處理中的兼容問題 64
3.打掃戰場 66
第2篇 沙場秋點兵
第3章 運籌帷幄—俯瞰javascript語法體系 69
3.1 javascript語言詞法基礎 69
3.1.1 從字符編碼開始接觸javascript語言 70
3.1.2 認識javascript的實詞和虛詞概念 71
3.1.3 對大小寫比較敏感的實詞 72
3.1.4 實詞類型 73
1.标識符 73 2.直接量 74
3.保留字 74
3.1.5 虛詞類型 74
1.無意義的分隔符 75 2.有意義的分隔符 75
3.注釋 76
3.2 javascript語言句法基礎 77
3.2.1 認識句法三要素:詞、句和段 77
1.段落 77 2.句子 78
3.詞語 78
3.2.2 點号—邏輯域定位符 79
3.2.3 逗号—連續運算符 80
3.2.4 分号—語句分隔符 81
3.2.5 冒号—邏輯聲明符 82
3.2.6 大括号—邏輯域分隔符 82
3.2.7 中括号—有序列表分隔符 84
3.2.8 小括号—強制運算符或邏輯分隔符 85
第4章 javascript血液系統—數據、數據類型和變量 89
4.1 從數據到類型 89
4.1.1 數據的本質 89
4.1.2 柔弱的javascript語言 90
4.1.3 javascript的基本數據類型 91
4.1.4 數之源—值類型和引用類型 92
4.1.5 原始值和引用值的操作本質 93
1.使用原始值 93 2.使用引用值 94
4.2 值類型數據 96
4.2.1 線性思維的符号—數值 96
1.數值直接量 96 2.八進制和十六進制數值 97
3.數值運算 97 4.特殊數值 98
4.2.2 形象思維的顔料—字符串 99
1.字符串直接量 99 2.轉義序列 100
3.字符串操作 100
4.2.3 邏輯思維的卵細胞—布爾型 101
4.2.4 空無道人—null 101
4.2.5 人之初—undefined 102
4.3 引用類型數據 103
4.3.1 有序數據結構—數組 104
1.數組意象 104 2.第一次接觸數組 105
4.3.2 離散數據結構—對象 105
1.對象意象 106 2.第一次接觸對象 106
4.3.3 魔獸數據—函數 108
1.函數意象 108 2.大話函數演繹之路 108
3.探究奇特的函數解析機制 110
4.4 數據類型檢測和轉換 112
4.4.1 數據類型檢測 113
1.使用typeof運算符 113 2.使用constructor屬性 113
3.框架窗口的數組類型問題 114 4.設計更安全的數據類型檢測方法 115
4.4.2 值類型數據的自動轉換 117
4.4.3 引用型數據的自動轉換 118
1.對象在邏輯運算環境中的
特殊情況 118 2.對象在數值運算環境中的
特殊情況 118
3.數組在數值運算環境中的
特殊情況 119 4.對象在模糊運算環境中的
情況處理 119
4.4.4 把值轉換爲字符串 120
1.使用加号運算符 120 2.圓滑的加号運算符 122
3.使用tostring()方法 122 4.數字轉換爲字符串的模式問題 122
5.數字轉換爲字符串的位數問題 123
4.4.5 把值轉換爲數字 124
1.使用parseint()函數 124 2.使用parsefloat()函數 125
3.使用乘号運算符 125
4.4.6 把值轉換爲布爾值 125
1.使用雙重邏輯非運算符 125 2.使用boolean()構造函數轉換 126
4.4.7 裝箱和拆箱 126
1.從值到引用—裝箱 126 2.從引用到值—拆箱 127
4.4.8 數據類型的強制轉換 128
4.5 使用變量 129
4.5.1 聲明變量 129
1.變量聲明的方法 129 2.3種變量命名法 130
4.5.2 醜陋的javascript變量 131
1.陋習一:變量沒有類型 131 2.陋習二:變量可以重複聲明 131
3.陋習三:變量可以隐式聲明 132 4.陋習四:變量的灰色潛規則 132
4.5.3 不可跨越的門檻—變量的作用域 133
1.變量優先級問題 133 2.局部作用域的嵌套 134
3.利用函數作用域實現技術封裝 134 4.變量的解析過程 135
5.被javascript忽略的塊級作用域 136 6.函數閉包的作用域 136
4.5.4 圈裏圈外—屬性與變量 137
1.全局變量是全局對象的屬性 137 2.局部變量是調用對象的屬性 138
4.5.5 變量的作用域鏈 138
4.5.6 變量的垃圾回收 139
第5章 javascript肌肉系統—運算符、表達式 141
5.1 說說運算符和表達式 141
5.1.1 語言實際上就是數據和運算的交流工具 141
5.1.2 運算符是運算的解碼器 142
5.1.3 走入運算符的童話世界 143
5.1.4 領略運算符的魔法法則 144
5.1.5 運算的人性化,還是随意性 146
5.1.6 警惕運算符的副作用 147
5.1.7 表達式是運算的最小邏輯單元 148
5.1.8 優化表達式的思維品質 148
5.2 天人合一——位運算符 151
5.2.1 位運算是整數的逐位運算 151
5.2.2 探秘二進制數運算奧秘 151
5.2.3 邏輯位運算 153
5.2.4 移位運算 155
5.3 童年無忌—算術運算符 157
5.3.1 加法的特殊運算 157
5.3.2 減法的特殊運算 158
5.3.3 乘法的特殊運算 159
5.3.4 除法的特殊運算 159
5.3.5 取模的特殊運算 160
5.3.6 取反運算 160
5.3.7 心髒起搏器—遞增和遞減 160
5.4 離散思維—字符串運算符 161
5.5 真真假假論乾坤—邏輯運算符 161
5.5.1 邏輯與運算 162
5.5.2 邏輯或運算符 164
5.5.3 邏輯非運算符 166
5.5.4 邏輯思維訓練 166
5.6 貨比三家—關系運算符 168
5.6.1 大小關系檢測 168
5.6.2 包含關系檢測 169
5.6.3 等值關系檢測 170
5.7 複制數據—賦值運算符 172
5.8 對象操作運算符 174
5.8.1 女娲造人—new運算符 174
5.8.2 垃圾回收站—delete運算符 175
5.8.3 i/o接口—存取運算符 177
1.中括号運算符 177 2.點号運算符 178
5.8.4 光盤驅動器—函數調用運算符 179
5.9 其他運算符 180
5.9.1 迷你版分支邏輯—條件運算符 180
5.9.2 期待與收獲—逗号運算符 181
5.9.3 俯首甘爲孺子牛—void運算符 182
5.9.4 身份驗證—類型檢測運算符 183
第6章 javascript神經骨骼系統—語句、結構 185
6.1 從表達式到語句 185
6.1.1 什麽是句子 186
6.1.2 兩面性—表達式、表達式語句 188
6.1.3 群居性—複合語句 189
6.1.4 形影相随—句子、結構 190
6.1.5 不被執行的—聲明語句 191
6.1.6 語句占位符—空語句 193
6.2 分支結構 193
6.2.1 if語句 193
6.2.2 if結構嵌套 194
1.錯誤的嵌套 194 2.正确的嵌套 195
6.2.3 else if語句 195
6.2.4 預防if結構嵌套的主觀性 196
6.2.5 if結構中容易躲藏的bug 197
6.2.6 switch語句 198
6.2.7 悟透default從句用法 200
6.2.8 恰當選用if結構和switch結構 202
6.2.9 分支結構中邏輯順序的優化 204
6.3 循環結構 205
6.3.1 while語句 205
6.3.2 do/while語句 207
6.3.3 for語句 207
6.3.4 for/in語句 209
6.3.5 靈活使用for/in結構 210
6.3.6 如何正确選用while和for結構 212
1.從語義性角度比較 212 2.從思維模式角度比較 212
3.從達成目标角度比較 214
6.3.7 優化循環結構和提高循環效率 215
1.優化結構 215 2.避免不必要的重複操作 216
3.妥善定義循環變量 216
6.4 結構的邏輯幹預 216
6.4.1 有序思維的錨點—标簽語句 217
6.4.2 跳出往後執行—break語句 218
6.4.3 繼續重新執行—continue語句 220
6.5 邏輯異常處理 222
6.5.1 剖析異常和異常種類 222
6.5.2 知法犯法—throw語句 223
6.5.3 異常處理器—try/catch/finally語句 223
6.6 函數體結構 225
6.6.1 惰性氣體—function語句 225
6.6.2 函數輸出接口—return語句 227
6.7 臨時作用域結構—with語句 228
第3篇 初戰告捷
第7章 盒子裏的魔術——透視javascript函數 233
7.1 認識函數 233
7.1.1 函數是一段代碼塊 234
7.1.2 函數是一類數據 234
7.1.3 函數是一種對象 234
7.2 定義javascript函數 235
7.2.1 克隆結構—構造函數 235
7.2.2 複雜結構的常量—函數直接量 237
7.2.3 定義嵌套函數 238
7.3 函數定義方法比較 239
7.3.1 函數作用域的比較 239
7.3.2 解析機制的比較 240
7.3.3 兼容性和靈活性比較 241
7.4 探析函數基本用法 242
7.4.1 函數返回值 242
7.4.2 調用函數 243
7.4.3 函數的生命周期 244
7.4.4 函數的作用域 245
7.5 深入函數的參數 246
7.5.1 認識函數的形參和實參 247
7.5.2 參數管理器—arguments對象 248
7.5.3 回調函數—callee屬性揭秘 249
7.5.4 arguments對象在實踐中靈活應用 250
7.6 使用函數對象 251
7.6.1 獲取函數形參個數 251
7.6.2 靈敏的指針—有趣的this關鍵字 252
7.6.3 雙刃劍—正确使用this關鍵字 253
7.6.4 自定義函數屬性和方法 255
7.6.5 儲錢罐—巧用函數的屬性實現蓄能 256
7.6.6 誰的屬性和方法—this與函數屬性和方法的混合使用 257
7.6.7 動态調用函數—詭異的call()和apply()方法 258
7.6.8 更改指針—call()和apply()方法高級應用 260
7.7 數據寄存器—閉包函數 262
7.7.1 認識閉包 262
7.7.2 分析閉包結構的基本特性 263
1.自閉特性 263 2.包裹特性 263
7.7.3 閉包的基本應用 264
第8章 大象也有形—把握javascript對象 267
8.1 初識對象 267
8.1.1 什麽是對象 268
8.1.2 對象是如何出生的 268
8.2 對象類型 269
8.2.1 本地對象 269
8.2.2 内置對象 270
8.2.3 宿主對象 270
8.3 對象基本操作 270
8.3.1 創建對象 271
8.3.2 引用對象 271
8.3.3 銷毀對象 272
8.4 對象的屬性和方法 272
8.4.1 定義對象的屬性 273
8.4.2 訪問對象的屬性 273
8.4.3 設置和删除對象屬性 274
8.4.4 對象的方法 275
8.5 對象的作用域 276
8.5.1 公共作用域 276
8.5.2 私有作用域 277
8.5.3 靜态作用域 277
8.5.4 變形怪傑—作用域中的this 278
8.6 構造對象、實例對象和原型對象 279
8.6.1 構造對象 279
1.構造對象的屬性 280 2.構造對象的方法 280
8.6.2 實例對象 281
1.實例對象的屬性 281 2.實例對象的方法 282
8.6.3 原型對象 282
1.認識原型對象 282 2.原型屬性與實例屬性之間的關系 284
3.通過原型方法擴展内置對象功能 285
8.7 構造器 285
8.7.1 引用構造器—constructor屬性 285
8.7.2 構造器的原型繼承 286
8.7.3 根據構造器判定對象類型 287
8.8 對象基本方法和應用 287
8.8.1 對象的字符串标志—tostring()方法 288
8.8.2 對象的值—valueof()方法 289
8.8.3 檢測私有屬性—hasownproperty()方法 290
8.8.4 檢測枚舉屬性—propertyisenumerable()方法 291
8.8.5 檢測原型對象—isprototypeof()方法 293
8.9 探析javascript核心對象 294
8.9.1 大象無形—global對象 294
8.9.2 數學專家—math對象 295
8.9.3 時間管理—date對象 298
1.獲取本地系統的當前時間 298 2.通過多選參數來創建指定的
時間對象 298
3.通過一個時間格式的字符串來
創建指定的時間對象 298 4.通過傳遞一個毫秒數來創建
指定的時間對象 298
第9章 有序世界的信使—操作數組 301
9.1 透視數據集合 301
9.1.1 數據集合的類型 301
9.1.2 特殊數集—哈希表 302
9.2 定義數組 303
9.3 數組基本操作 304
9.3.1 存取數組元素 304
9.3.2 能夠自由伸縮的數組 305
9.3.3 數組的大小 306
9.3.4 對象與數組 306
9.3.5 暗度陳倉—定義多維數組 308
9.4 數組方法及其應用 309
9.4.1 檢索數組元素 309
9.4.2 添加和删除元素 309
1.push()和pop()方法 310 2.unshift()和shift()方法 310
3.模拟隊列數據結構的操作 311 4.粘連數組的concat()方法 311
9.4.3 子數組操作 312
1.删除和插入元素集合—
splice()方法 312 2.截取子數組—slice()方法 313
9.4.4 數組排序 314
1.颠倒順序—reverse()方法 314 2.數組排序—sort()方法 314
9.4.5 奇思妙想—更有趣的數組排序 315
1.根據奇偶性質排列數組 316 2.不區分大小寫排序字符串 316
3.把浮點數和整數分開排列 317
9.4.6 數組與字符串相互轉換 317
1.字符串通用轉換—
tostring()方法 317 2.本地字符串轉換—
tolocalstring()方法 318
3.更靈活的字符串轉換—
join()方法 318 4.把字符串轉換爲數組—
split()方法 318
9.5 靈活使用數組及其方法擴展 319
9.5.1 神奇的數組下标 319
1.文本下标 319 2.二維數組下标 320
3.對象下标 321
9.5.2 擴展數組的基本方法 321
9.5.3 爲數組擴展通用叠代器 322
9.5.4 利用數組叠代器擴展數組方法 324
1.動态改變數組中每個元素的值 324 2.過濾數組元素 325
第10章 變相怪傑—駕馭字符串 327
10.1 傷心字符串:使用值還是使用引用 327
10.1.1 思考是發現問題的鑰匙 327
10.1.2 直擊字符串操作的真相 328
10.1.3 字符串是如何進行比較的 330
10.2 創建字符串 330
10.2.1 定義字符串直接量 330
10.2.2 構造字符串 331
10.2.3 使用字符編碼創建字符串 332
10.3 使用字符串 333
10.3.1 獲取字符串的字符和字節長度.. 333
10.3.2 連接字符串 335
10.3.3 查找字符串 335
1.獲取指定位置的字符—
charat()和charcodeat()方法 335 2.查找子字符串的位置—
indexof()和lastindexof()方法 336
3.匹配字符串—
search()和match()方法 337
10.3.4 截取子字符串 339
1.根據長度截取子字符串—
substr()方法 339 2.根據起止下标截取子字符串—
slice()和substring()方法 339
10.3.5 編輯字符串 340
1.替換子字符串—replace()方法 340 2.字符串大小寫轉換 342
10.3.6 暗藏玄機—replace()方法深層技術探讨 342
10.3.7 比較字符串 344
10.3.8 把字符串轉換爲數組 345
10.3.9 字符串的類型和值 346
10.3.10 格式化字符串方法 347
10.4 string對象擴展及用法 348
10.4.1 模拟vbscript字符串處理函數 348
1.截取字符串左側指定數目的字符
—left()方法 348 2.截取字符串右側指定數目的字符
—right()方法 349
3.清除字符串首尾的空格
—trim()方法 349 4.清除字符串左側空格
—ltrim()方法 350
5.清除字符串右側空格
—rtrim()方法 350
10.4.2 檢測特殊字符 351
10.4.3 提高字符串連接操作效率 352
10.5 字符串加密和解密 352
10.5.1 javascript預定義編碼和解碼方法 352
1.字符串常規編碼和解碼
—escape()和unescape()方法 353 2.uri字符串編碼和解碼—encodeuri()
和decodeuri()方法 353
3.uri組件編碼和解碼—
encodeuricomponent()和
decodeuricomponent()方法 354
10.5.2 unicode編碼 355
10.5.3 unicode解碼 355
10.5.4 自定義加密和解密方法 356
第11章 靈異的牧羊犬—使用正則表達式操縱字符串 359
11.1 第六感覺—認識正則表達式 359
11.1.1 什麽是正則表達式 359
11.1.2 正則表達式的發展曆史 360
11.2 定義正則表達式 361
11.2.1 使用regexp對象構造正則表達式 361
11.2.2 定義正則表達式直接量 363
11.3 正則表達式基本語法—字符類 364
11.3.1 認識普通字符和元字符 364
11.3.2 字符直接量 364
1.用ascii碼表示 364 2.用unicode編碼表示 365
11.3.3 定義簡單字符類 366
11.3.4 定義反義字符類 366
11.3.5 定義字符範圍類 367
11.3.6 預定義字符類 368
11.4 正則表達式基本語法—重複類數量詞 369
11.4.1 簡單重複性匹配 369
11.4.2 貪婪匹配 371
1.?、{n}和{n, m}重複類 371 2.*、+和{n, }重複類 372
11.4.3 惰性匹配 372
11.4.4 支配匹配 373
11.5 高級匹配模式 374
11.5.1 分組 374
11.5.2 分組的應用價值 375
11.5.3 引用 376
11.5.4 非引用型分組 377
11.5.5 選擇 378
11.5.6 聲明 380
11.5.7 邊界 380
11.5.8 錨記 382
11.5.9 标志 382
11.6 操作regexp對象 383
11.6.1 實例屬性 383
11.6.2 靜态屬性 384
11.6.3 正則表達式的方法 386
1.靈活的匹配操盤手—exec()方法 386 2.匹配驗證—test()方法 387
11.6.4 比較各種模式匹配的方法 388
第4篇 直搗黃龍
第12章 bom—探訪客戶的秘密 393
12.1 認識浏覽器對象模型(bom) 393
12.2 客戶端全局對象—window 395
12.2.1 全局作用域 396
12.2.2 window對象的生命周期 396
12.2.3 人機交互—學習javascript第一步 397
12.2.4 控制彈出窗口 398
12.2.5 框架之間的通信 399
1.窗口不等于框架 400 2.框架之間相互訪問方式 400
3.框架之間javascript交互 400
12.3 檢測客戶浏覽器信息—navigator對象 401
12.3.1 了解常用浏覽器檢測方法 402
1.特征檢測法 402 2.字符串檢測法 402
12.3.2 檢測浏覽器類型和版本 403
12.3.3 檢測客戶端操作系統 404
12.4 客戶端導航—location和history對象 405
12.4.1 全球定位儀—location對象 405
12.4.2 浏覽簡史—history對象 407
1.使用javascript訪問曆史記錄 407 2.使用javascript訪問幀的曆史記錄 408
12.5 窗口大小控制—screen和window對象 408
12.5.1 屏幕大小—screen對象 408
12.5.2 窗口大小—window對象 409
12.6 0級文檔對象模型—document對象 410
12.6.1 認識文檔對象—document 410
12.6.2 0級文檔對象模型及其讀寫規則 411
12.6.3 動态生成文檔 412
第13章 dom—控制文檔結構的模型 415
13.1 認識dom 415
13.1.1 dom發展概述 415
1.dom 0級 416 2.dom 1級 416
3.dom 2級 416 4.dom 3級 417
13.1.2 檢測浏覽器對dom規範支持程度 417
13.1.3 dom核心 419
13.1.4 dom節點 420
13.2 操作dom文檔 422
13.2.1 html dom加載過程及其處理 422
13.2.2 dom文檔支持的遍曆指針 424
1.childnodes 425 2.firstchild和lastchild 425
3.parentnode 425 4.nextsibling和previoussibling 426
5.documentelement 426
13.2.3 文檔遍曆中的空格bug及其清除 426
13.2.4 實現一個簡單的文檔遍曆 427
13.2.5 擴展遍曆指針函數 428
1.擴展firstchild和lastchild
指針函數 429 2.擴展parentnode指針函數 429
3.擴展nextsibling和previoussibling
指針函數 429
13.2.6 通過原型繼承擴展dom元素的方法 430
13.2.7 增加文檔内容 433
13.3 操作dom節點 435
13.3.1 獲取節點 435
1.使用getelementbyid()方法 435 2.使用getelementbytagname()方法 436
13.3.2 創建節點 437
1.創建節點的基本用法 437 2.創建dom元素的通用方法 438
13.3.3 複制節點 439
13.3.4 插入節點 440
1.使用appendchild()方法 440 2.使用insertbefore()方法 442
13.3.5 删除節點 442
1.删除節點的基本用法 443 2.封裝删除節點的方法 443
3.封裝删除所有子節點的方法 444
13.3.6 替換節點 444
13.4 操作元素的屬性 445
13.4.1 獲取節點屬性 446
13.4.2 設置節點屬性 447
13.4.3 删除節點屬性 448
13.4.4 存取javascript屬性 449
13.5 操作元素的内容 449
13.5.1 獲取元素包含的文本 449
13.5.2 獲取元素包含的html信息 450
第14章 event—javascript事件驅動模型 453
14.1 認識javascript事件 453
14.1.1 你未必理解的事件概念 453
14.1.2 事件驅動模型 454
14.1.3 事件處理和監聽函數 455
14.1.4 多線程與異步回調 456
14.2 事件流及其傳播 456
14.2.1 事件傳播過程 457
14.2.2 冒泡型事件流 457
14.2.3 捕獲型事件流 459
14.2.4 dom标準事件流 460
14.3 dom 0級事件模型 460
14.3.1 原始事件的處理方式 460
14.3.2 斫石取火—定義事件 461
14.3.3 直接調用—事件處理函數之趣 463
14.3.4 冷落的返回值—事件處理函數之痕 464
14.3.5 隐形的參數—事件處理函數之謎 465
14.3.6 再說this—事件處理函數之惑 466
14.3.7 身在曹營心在漢—事件處理函數之域 467
14.4 dom 2級事件模型 469
14.4.1 認識dom 2級事件模型 469
1.事件模塊與接口 470 2.dom 2級事件模型的工作機制 470
3.event接口 470 4.uievent接口 471
5.mouseevent接口 471 6.mutationevent接口 471
14.4.2 綁定和銷毀事件 471
1.綁定事件 472 2.銷毀事件 473
14.4.3 爲對象注冊多個事件處理函數 473
14.4.4 兼容0級事件模型的處理方法 474
14.4.5 兼容ie的事件處理方法 475
14.5 ie事件模型 475
14.5.1 認識ie事件模型 475
14.5.2 綁定和銷毀事件 476
1.綁定事件 476 2.銷毀事件 476
3.事件處理函數中的this 477 4.綁定多個事件 477
14.5.3 設計可兼容的event對象 478
14.6 事件類型 478
14.6.1 事件類型概述 479
14.6.2 鼠标事件 481
1.鼠标點擊事件類型 482 2.鼠标移動事件類型 482
3.鼠标經過事件類型 484 4.鼠标來源 485
5.鼠标定位 486 6.封裝并應用鼠标定位設計方案 487
7.在元素内部定位鼠标指針 488 8.鼠标按鍵 489
9.鼠标事件響應順序 489
14.6.3 鍵盤事件 490
1.認識鍵盤事件的屬性 490 2.ctrlkey和shiftkey屬性 491
3.keycode和charcode屬性 491 4.鍵盤事件響應順序 493
14.6.4 頁面事件 493
1.頁面初始化—load事件類型 494 2.load事件類型的特殊引用 495
3.在頁面初始化之前執行腳本—
domcontentloaded事件類型 496 4.頁面卸載—unload事件類型 498
5.更人性化的頁面卸載—
beforeunload事件類型 499 6.窗口重置—resize事件類型 499
7.文檔移動—scroll事件類型 500 8.錯誤捕獲—error事件類型 500
14.6.5 ui事件 501
1.獲取焦點—focus事件類型 501 2.失去焦點—blur事件類型 501
14.6.6 表單事件 501
1.選擇文本—select事件類型 502 2.監測表單元素值變化—change
事件類型 502
3.提交表單—submit事件類型 503 4.重置表單—reset事件類型 504
第15章 css—設計html動态效果 507
15.1 dom 2級樣式控制模型 507
15.1.1 cssstylesheet接口 508
15.1.2 cssstylerule接口 508
15.1.3 cssstyledeclaration接口 509
15.2 dom 0級樣式控制模型 510
15.2.1 style對象 510
15.2.2 使用style對象讀寫行内樣式 516
1.讀取樣式的屬性值和屬性名 516 2.設置樣式的屬性值 516
3.移除樣式聲明 517 4.檢測聲明中是否附加!important
關鍵字 517
5.内行樣式設置實戰 517
15.2.3 stylesheets集合 519
15.2.4 訪問css樣式表 521
15.2.5 讀寫css規則 522
15.2.6 訪問最終樣式 525
1.ie的最終樣式 525 2.dom的最終樣式 526
15.2.7 修改css樣式的方法比較 526
1.關于修改class樣式 527 2.關于修改id樣式 527
15.3 尺寸 528
15.3.1 從css樣式表中抽取元素尺寸 528
15.3.2 把抽取的尺寸轉化爲實際值 529
15.3.3 使用offsetwidth和offsetheight獲取元素的尺寸 531
15.3.4 超越offsetwidth和offsetheight的缺陷 532
15.3.5 更複雜的元素尺寸 534
15.3.6 可視區域外滾動尺寸 537
15.3.7 浏覽器窗口的尺寸 538
15.4 位置 539
15.4.1 獲取元素在浏覽器窗口中的位置 540
15.4.2 獲取元素相對父元素的位置 543
15.4.3 獲取元素相對包含塊的位置 543
15.4.4 設置元素的偏移位置 544
15.4.5 設置元素的相對位置 544
15.4.6 獲取鼠标指針的頁面位置 545
15.4.7 獲取鼠标指針在元素内的位置 546
15.4.8 獲取頁面滾動條的位置 548
15.4.9 設置頁面滾動條的位置 549
15.5 顯示和隐藏 549
15.5.1 元素的可見性 550
15.5.2 顯示和隐藏功能封裝 550
15.5.3 設置和獲取元素的透明度 551
15.6 動畫 552
15.6.1 定時器 553
1.settimeout()方法 553 2.setinterval()方法 555
3.正确選用settimeout()和
setinterval()方法 555
15.6.2 滑動 556
15.6.3 漸隐漸顯 557
第5篇 飛鴻傳書
第16章 cookie—用戶信息存儲、交互與安全 561
16.1 cookie概述 561
16.1.1 cookie回眸 561
16.1.2 cookie信息的結構 562
16.2 存取cookie信息 563
16.2.1 寫入cookie信息 563
16.2.2 設置cookie有效期 563
16.2.3 設置cookie的域和路徑 564
16.2.4 設置cookie安全傳輸 565
16.2.5 完善寫入的cookie信息 565
16.2.6 讀取cookie信息 566
16.2.7 修改和删除cookie信息 567
16.2.8 cookie的局限性及其突破 567
16.2.9 探測浏覽器是否啓用cookie 569
16.3 cookie封裝與應用 569
16.3.1 cookie封裝 569
16.3.2 cookie應用:打字測試遊戲 571
第17章 xml和json—javascript數據處理模式 575
17.1 更通用的數據—xml 575
17.1.1 認識xml 575
17.1.2 xml文檔結構概述 576
17.1.3 聲明 577
17.1.4 處理指令 577
17.1.5 注釋 578
17.1.6 标記和元素 578
17.1.7 xml屬性 579
17.2 xml dom文檔對象模型 580
17.2.1 認識xml dom文檔對象模型 580
17.2.2 讀取xml數據 582
17.3 ie對xml的支持 584
17.3.1 創建xml dom對象 584
17.3.2 加載xml數據 585
1.設置加載模式 585 2.跟蹤異步加載狀态 585
17.3.3 數據加載錯誤處理 586
17.4 mozilla對xml的支持 587
17.4.1 創建xml dom對象 587
17.4.2 加載xml數據 588
17.4.3 讀取xml數據 589
1.自定義方法模拟text屬性的功能 589 2.自定義方法模拟xml屬性的功能 589
17.5 xml數據導航器—xpath 590
17.5.1 xpath基本語法 590
17.5.2 ie對xpath的支持 592
17.5.3 mozilla對xpath的支持 593
17.6 更敏捷的數據—json 595
17.6.1 json簡介 595
17.6.2 深入json數據内核 598
1.數據的無序結構—對象 598 2.數據的有序結構—數組 598
3.數據的内容—值 599
第18章 ajax—javascript通信接口與異步交互引擎 601
18.1 網絡那點事兒—濃縮的http 601
18.1.1 http請求 602
18.1.2 http響應 604
18.2 暗度陳倉—從隐藏框架說起 605
18.2.1 隐藏框架 605
18.2.2 異步交互與回調處理 608
18.2.3 使用iframe處理異步交互 611
18.3 巧連環—jsonp與跨域異步交互 613
18.3.1 小聰明大智慧—(script)标簽背後的故事 613
18.3.2 動态控制script元素實現可控異步通信 615
18.3.3 script異步通信的參數傳遞 616
18.3.4 script異步通信的響應數據類型 620
18.3.5 jsonp異步通信協議 623
18.3.6 jsonp的安全問題 625
18.4 ajax—更高效的異步通信接口 626
18.4.1 認識xmlhttprequest對象 627
18.4.2 定義xmlhttprequest對象 628
18.4.3 建立xmlhttprequest請求連接 629
18.5 request—發送請求 630
18.5.1 發送get請求 630
18.5.2 發送post請求 631
18.5.3 把數據轉換爲串行字符串 633
1.傳輸名/值對信息 633 2.傳輸有序數據列表 633
18.6 state—異步狀态監測 634
18.6.1 跟蹤ajax異步通信狀态 634
18.6.2 中止異步請求 636
18.7 response—獲取響應信息 636
18.7.1 xml 637
18.7.2 html 638
18.7.3 code 639
18.7.4 json 640
18.7.5 text 641
18.7.6 獲取和設置頭部消息 641
18.8 ajax通信功能封裝和應用 642
18.8.1 封裝異步請求函數 642
18.8.2 使用ajax改進tab顯示 643
第6篇 壯士凱旋
第19章 可視化思維—深入javascript面向對象編程 651
19.1 書非借不能讀也—說類 651
19.1.1 類與對象 651
19.1.2 類成員:屬性、方法和事件 652
19.1.3 類的基本特性:繼承、封裝和多态 652
19.2 定義javascript類 653
19.2.1 小老闆爲什麽能年掙百萬—工廠模式 653
19.2.2 拿來主義—構造函數模式 655
19.2.3 遺傳栽培法—原型模式 657
19.2.4 雜交栽培法—構造函數原型模式 658
19.2.5 滴灌法—動态原型模式 660
19.3 契約書—javascript接口 661
19.3.1 新版黔驢技窮—大話接口 661
19.3.2 簽訂契約書—接口的本質 663
19.3.3 大道理簡單化—javascript接口實現方法一 665
19.3.4 孔明點燈—javascript接口實現方法二 667
19.3.5 雞肋還是雞翅—javascript接口選用之惑 670
19.4 javascript繼承機制—原型(prototype) 671
19.4.1 認識prototype 671
19.4.2 剪不斷理還亂—辨析泛類、類型、原型和對象實例 672
19.4.3 形似神異—構造類的原型和本地特性 674
19.4.4 四大皆空—關于類的唯空論 676
19.4.5 原型屬性的基本操作和應用技巧 678
1.利用原型爲對象設置默認值 679 2.利用原型間接實現本地數據備份 680
3.利用原型設置隻讀屬性 680 4.利用原型進行批量複制 682
19.4.6 定義靜态原型方法 683
19.4.7 prototype原型域及原型鏈 683
19.4.8 prototype的副作用 685
19.5 javascript基因圖譜—繼承 686
19.5.1 認識javascript的繼承機制 686
19.5.2 原型繼承 688
19.5.3 類繼承的源起 689
19.5.4 類繼承的設計模式 690
19.5.5 深入理解類繼承中call()和apply()角色 693
19.5.6 封裝類繼承機制 695
19.5.7 實例繼承 696
19.5.8 複制繼承 698
19.5.9 克隆繼承 699
19.5.10 混合繼承 699
19.5.11 多重繼承 701
19.5.12 摻元類 702
19.6 類的封裝 704
19.6.1 類的被動封裝 705
19.6.2 類的主動封裝 706
19.6.3 定義類的靜态方法和屬性 708
19.7 類的多态 710
19.7.1 方法的重載和覆蓋 711
1.重載 711 2.覆蓋 711
19.7.2 類的多态 712
19.8 善始善終—類的構造和析構 713
19.8.1 構造 714
19.8.2 動态構造 715
19.8.3 析構 716
19.9 類的抽象化—超類、子類和元類 717
19.9.1 超類和子類 717
19.9.2 元類 718
第20章 蔔算子—深入javascript函數式編程 721
20.1 javascript函數式編程概述 721
20.1.1 函數是第一型 721
20.1.2 函數是運算元 722
20.1.3 函數是數據閉包 723
20.2 表達式運算 724
20.2.1 實現連續運算的常用方法 724
20.2.2 嘗試把所有命令式語句轉換爲連續運算 727
20.2.3 表達式中的函數 728
20.2.4 函數的惰性與非惰性求值 730
20.2.5 函數調用棧 732
20.3 遞歸運算 734
20.3.1 認識遞歸 735
20.3.2 猜一猜,算一算—遞歸算法演示 736
20.3.3 遞歸算法 738
20.3.4 遞歸模型 738
1.問題的定義是遞歸的 738 2.問題所涉及的數據結構是遞歸的 739
3.問題的解法滿足遞歸的性質 740
20.3.5 hanoi(漢諾)塔算法 740
20.3.6 尾遞歸算法 742
20.3.7 fibonacci(斐波那契)數列 744
20.3.8 遞歸算法的優化 746
20.4 高處不勝寒—破解函數域之惑 747
20.4.1 我是誰—javascript執行環境與函數解析機制 747
20.4.2 我從哪來—詞法作用域與執行作用域 749
20.4.3 尋找迷失的遠方—作用域鏈 751
20.4.4 我又在哪裏—調用對象 753
20.5 天宮之旅—函數閉包 754
20.5.1 從圈外看閉包 754
20.5.2 從圈内看函數閉包 755
20.5.3 解剖閉包結構—認識閉包标識符系統 757
20.5.4 覆蓋還是層叠—關于閉包函數的作用域問題 759
20.5.5 生存還是毀滅—關于閉包函數的生存周期問題 760
20.5.6 辨析函數與閉包 762
20.5.7 奇怪的不等式—函數、調用、引用和實例 763
20.5.8 夢裏花落知多少—閉包函數與函數實例 765
20.5.9 剪不斷理還亂—閉包函數與調用對象 769
20.5.10 保護閉包數據的獨立性 771
20.5.11 始祖鳥—構造函數閉包 773
20.5.12 想你所想—函數式編程中閉包的應用價值 774
20.5.13 一起聯想—函數式編程中閉包的橋梁作用 776
20.5.14 預防中毒—閉包的副作用 779
20.6 我是誰?—徹底研究this 782
20.6.1 who is this—确認this的身份 783
1.this代表當前對象 783 2.this代表當前作用域對象 784
20.6.2 what is this—this的本質 786
1.閉包的破壞性 787 2.call()和apply()方法的破壞性 788
3.異步調用的破壞性 788
20.6.3 where is this—在哪兒使用this 788
1.函數的引用和調用 788 2.call()和apply() 789
3.原型繼承 790 4.異步調用之事件處理函數 791
5.異步調用之定時器 792
20.6.4 how to do this—this應對策略 792
1.預防this多變的基本原則 792 2.把this作爲參數值 793
3.設計靜态的this指針 793 4.設計靜态的this擴展方法 794
第21章 流水不腐—深入javascript動态化編程 797
21.1 使用eval()方法動态執行語句 797
21.1.1 動态值、表達式和語句 797 21.1.2 對象和函數直接量的歧義問題 799
21.1.3 eval全局執行域及其兼容方法 800 21.1.4 eval當前執行域 802
21.2 動态調用函數 802
21.2.1 函數調用方法及執行效率比較 802
1.使用小括号運算符調用函數 803 2.使用new運算符調用函數 803
3.使用call()和apply()方法調用函數 804 4.使用定時器調用函數 804
5.使用事件處理函數調用函數 805
21.2.2 函數的調用對象 805
21.2.3 動态調用中的this指針 808
21.2.4 在動态調用中實現繼承 810
21.2.5 動态調用中易迷失的this指針 810
21.2.6 嵌套函數調用中的副作用 812
21.3 動态重寫 814
21.3.1 重寫原型對象 814
21.3.2 重寫構造器 816
21.3.3 重寫方法... 818
相关内容
语言: 英文 地区: 美国 图书分类: 科普 中文名: 网页设计师 - 2102 发行时间: 2012[查看详细]
语言: 英文 地区: 美国 简介: 内容介绍:家装设计是在家庭正式装潢开工前进行功能格局上的规划设计,各空间界面的装饰设计,随着室内设计培训机构等实践型高端培训机构的出现,家装设计备受人们关注,而家装设计师以成为[查看详细]
语言: 简体中文 地区: 大陆 图书分类: 政治/军事 中文名: 中国空军传奇 资源格[查看详细]
电驴云下载 网站地图 最近更新 收藏本页 返回顶部
Copyright @ 电驴云下载 - www.verycd9.com All Rights Reserved
声明:本站内容来自网络,如有意见请与我们联系。谢谢!
3.1 秒 2017-03-25 03:56:37 357932