編輯推薦
引導讀者瞭解近10年來大師們打造的優良框架以及其中令人稱道的奇思妙想
更深入、更徹底地認識JavaScript,領略jQuery等庫的架構之美和設計之美
幫助開發者高屋建瓴地打造適閤自己的前端框架
內容簡介
本書全麵講解瞭JavaScript框架設計及相關的知識,主要內容包括種子模塊、語言模塊、瀏覽器嗅探與特徵偵測、類工廠、選擇器引擎、節點模塊、數據緩存模塊、樣式模塊、屬性模塊、PC端和移動端的事件係統、jQuery的事件係統、異步模型、數據交互模塊、動畫引擎、MVVM、前端模闆(靜態模闆)、MVVM的動態模闆、性能牆與復雜牆、組件、jQuery時代的組件方案、avalon2的組件方案、react的組件方案等。
本書適閤前端設計人員、JavaScript開發者、移動UI設計者、程序員和項目經理閱讀,也可作為相關專業學習用書和培訓學校教材。
作者簡介
鍾欽成,網名司徒正美,著名的JavaScript專傢,立誌做考古學傢的日語係工程師,穿梭於二次元與二進製間的“魔法師”,做過陶藝,寫過小說,涉獵Java、Ruby、 JavaScript,3年成就此書!
目錄
第1章 種子模塊 1
1.1 模塊化 1
1.2 功能介紹 2
1.3 對象擴展 3
1.4 數組化 5
1.5 類型的判定 8
1.5.1 type 12
1.5.2 isPlainObject 13
1.5.3 isWindow 14
1.5.4 isNumeric 15
1.5.5 isArrayLike 16
1.6 domReady 17
1.7 無衝突處理 20
1.8 總結 20
第2章 語言模塊 21
2.1 字符串的擴展與修復 22
2.1.1 repeat 24
2.1.2 byteLen 26
2.1.3 pad 30
2.1.4 quote 32
2.1.5 trim與空白 33
2.2 數組的擴展與修復 37
2.3 數值的擴展與修復 45
2.4 函數的擴展與修復 48
2.5 日期的擴展與修復 53
第3章 瀏覽器嗅探與特徵偵測 57
3.1 瀏覽器判定 58
3.2 document.all趣聞 61
3.3 事件的支持偵測 62
3.4 樣式的支持偵測 65
3.5 jQuery一些常用特徵的含義 65
第4章 類工廠 68
4.1 JavaScript對類的支撐 68
4.2 各種類工廠的實現 73
4.2.1 相當精巧的庫—P.js 74
4.2.2 JS.Class 76
4.2.3 simple-inheritance 78
4.2.4 體現JavaScript靈活性的
庫—def.js 81
4.3 進擊的屬性描述符 85
4.4 真類降臨 93
第5章 選擇器引擎 102
5.1 瀏覽器內置的尋找元素的方法 103
5.2 getElementsBySelector 105
5.3 選擇器引擎涉及的知識點 108
5.3.1 關係選擇器 109
5.3.2 僞類 111
5.3.3 其他概念 113
5.4 選擇器引擎涉及的通用函數 114
5.4.1 isXML 114
5.4.2 contains 115
5.4.3 節點排序與去重 117
5.4.4 切割器 121
5.4.5 屬性選擇器對於空白字符的
匹配策略 123
5.4.6 子元素過濾僞類的分解與
匹配 125
5.5 Sizzle引擎 127
5.6 總結 135
第6章 節點模塊 136
6.1 節點的創建 136
6.2 節點的插入 142
6.3 節點的復製 144
6.4 節點的移除 148
6.5 節點的移除迴調實現 151
6.5.1 Mutation Observer 152
6.5.2 更多候選方案 153
6.6 innerHTML、innerText、outerHTML、
outerText的兼容處理 157
6.7 模闆容器元素 161
6.8 iframe元素 162
6.9 總結 165
第7章 數據緩存模塊 166
7.1 jQuery的第1代緩存係統 166
7.2 jQuery的第2代緩存係統 172
7.3 jQuery的第3代緩存係統 175
7.4 有容量限製的緩存係統 176
7.5 本地存儲係統 178
7.6 總結 184
第8章 樣式模塊 185
8.1 主體架構 186
8.2 樣式名的修正 189
8.3 個彆樣式的特殊處理 190
8.3.1 opacity 190
8.3.2 user-select 192
8.3.3 background-position 192
8.3.4 z-index 193
8.3.5 盒子模型 194
8.3.6 元素的尺寸 195
8.3.7 元素的顯隱 201
8.3.8 元素的坐標 203
8.4 元素的滾動條的坐標 209
8.5 總結 210
第9章 屬性模塊 211
9.1 元素節點的屬性 212
9.2 如何區分固有屬性與自定義
屬性 214
9.3 如何判定瀏覽器是否區分固有
屬性與自定義屬性 216
9.4 IE的屬性係統的3次演變 217
9.5 className的操作 218
9.6 Prototype.js的屬性係統 221
9.7 jQuery的屬性係統 226
9.8 avalon的屬性係統 229
9.9 value的操作 232
9.10 總結 235
第10章 PC端的事件係統 236
10.1 原生API簡介 238
10.2 on×××綁定方式的缺陷 239
10.3 attachEvent的缺陷 239
10.4 addEventListener的缺陷 241
10.5 handleEvent與
EventListenerOptions 242
10.6 Dean Edward大神的addEvent.js
源碼分析 243
10.7 jQuery的事件係統 246
10.8 avalon2的事件係統 248
10.9 總結 254
第11章 移動端的事件係統 255
11.1 touch係事件 256
11.2 gesture係事件 258
11.3 tap係事件 259
11.4 press係事件 268
11.5 swipe係事件 271
11.6 pinch係事件 273
11.7 拖放係事件 276
11.8 rotate係事件 279
11.9 總結 282
第12章 異步模型 283
12.1 setTimeout與setInterval 284
12.2 Promise誕生前的世界 287
12.2.1 迴調函數callbacks 287
12.2.2 觀察者模式observers 287
12.2.3 事件機製listeners 289
12.3 JSDeferred裏程碑 289
12.4 jQuery Deferred宣教者 299
12.5 es6 Promise第一個標準模型 303
12.5.1 構造函數:Promise
( executor ) 308
12.5.2 Promise.resolve/reject 309
12.5.3 Promise.all/race 309
12.5.4 Promise#then/catch 310
12.5.5 Promise#resolve/reject 310
12.5.6 Promsie#notify 311
12.5.7 nextTick 312
12.6 es6生成器過渡者 314
12.6.1 關鍵字yield 315
12.6.2 yield*和yield的區彆 316
12.6.3 異常處理 317
12.7 es7 async/await終極方案 319
12.8 總結 321
第13章 數據交互模塊 323
13.1 Ajax概覽 323
13.2 優雅地取得XMLHttpRequest
對象 324
13.3 XMLHttpRequest對象的事件
綁定與狀態維護 326
13.4 發送請求與數據 328
13.5 接收數據 330
13.6 上傳文件 333
13.7 jQuery.ajax 335
13.8 fetch,下一代Ajax 340
第14章 動畫引擎 344
14.1 動畫的原理 344
14.2 緩動公式 347
14.3 jQuery.animate 349
14.4 mass Framework基於JavaScript的
動畫引擎 350
14.5 requestAnimationFrame 358
14.6 CSS3 transition 364
14.7 CSS3 animation 368
14.8 mass Framework基於CSS的動畫
引擎 370
第15章 MVVM 378
15.1 前端模闆(靜態模闆) 378
15.2 MVVM的動態模闆 388
15.2.1 求值函數 390
15.2.2 刷新函數 395
15.3 ViewModel 399
15.3.1 Proxy 400
15.3.2 Reflect 401
15.3.3 avalon的ViewModel
設計 403
15.3.4 angular的ViewModel
設計 407
15.4 React與虛擬DOM 412
15.4.1 React的diff算法 415
15.4.2 React的多端渲染 417
15.5 性能牆與復雜牆 417
第16章 組件 422
16.1 jQuery時代的組件方案 422
16.2 avalon2的組件方案 427
16.2.1 組件容器 429
16.2.2 配置對象 430
16.2.3 slot機製 430
16.2.4 soleSlot機製 431
16.2.5 生命周期 432
16.3 React的組件方案 433
16.3.1 React組件的各種定義
方式 433
16.3.2 React組件的生命周期 439
16.3.3 React組件間通信 441
16.3.4 React組件的分類 445
16.4 前端路由 446
16.4.1 storage 447
16.4.2 mmHistory 448
16.4.3 mmRouter 454
彩蛋 458
JavaScript框架設計(第2版) 下載 mobi epub pdf txt 電子書 格式
評分
☆☆☆☆☆
不過現在醫學發達瞭,醫院已經治好瞭你的絕癥。
評分
☆☆☆☆☆
非常感謝京東商城給予的優質的服務,從倉儲管理、物流配送等各方麵都是做的非常好的。送貨及時,配送員也非常的熱情,有時候不方便收件的時候,也安排時間另行配送。同時京東商城在售後管理上也非常好的,以解客戶憂患,排除萬難。給予我們非常好的購物體驗。順商祺! Thank you very much for the excellent service provided by Jingdong mall, and it is very good to do in warehouse management, logistics, distribution and so on. Delivery in a timely manner, distribution staff is also very enthusiastic, and sometimes inconvenient to receive the time, but also arranged for time to be delivered. At the same time in the mall management Jingdong
評分
☆☆☆☆☆
字跡清晰,紙張厚實,字體也很大,感覺不錯。內容很基礎,適閤初學者。
評分
☆☆☆☆☆
他卻依然 對現實放肆 等著美麗的故事被腐蝕
評分
☆☆☆☆☆
書還沒開始看,應該是可以的,在地鐵上學習用嗯嗯,以上
評分
☆☆☆☆☆
Thank you very much for the excellent service provided by Jingdong mall, and it is very good to do in warehouse management, logistics, distribution and so on. Delivery in a timely manner, distribution staff is also very enthusiastic, and sometimes inconvenient to receive the time, but also arranged for time to be delivered. At the same time in the mall management Jingdong customer service is also very good, to solve customer suffering, overcome all difficulties. Give us a very good shopping experience.!
評分
☆☆☆☆☆
此用戶未填寫評價內容
評分
☆☆☆☆☆
經常網購,總有大量的包裹收,感覺寫評語花掉瞭我大量的時間和精力! 所以在一段時間裏,我總是不去評價 或者隨便寫寫! 但是,我又總是覺得好像有點對不住那些辛苦工作的賣傢客服、倉管、老闆。 於是我寫下瞭一小段話,給我覺得能拿到我五星好評的賣傢的寶貝評價裏麵以示感謝和尊敬! 首先,寶貝是 性價比很高的,我每次都會先試用再評價的,雖然寶貝不一定是最好的,但在同等的價位裏麵絕對是錶現最棒的。 希望店傢能再接再厲, 做得更大更強!
評分
☆☆☆☆☆
經常網購,總有大量的包裹收,感覺寫評語花掉瞭我大量的時間和精力! 所以在一段時間裏,我總是不去評價 或者隨便寫寫! 但是,我又總是覺得好像有點對不住那些辛苦工作的賣傢客服、倉管、老闆。 於是我寫下瞭一小段話,給我覺得能拿到我五星好評的賣傢的寶貝評價裏麵以示感謝和尊敬! 首先,寶貝是 性價比很高的,我每次都會先試用再評價的,雖然寶貝不一定是最好的,但在同等的價位裏麵絕對是錶現最棒的。 希望店傢能再接再厲, 做得更大更強!