高性能JavaScript

高性能JavaScript

《高性能JavaScript》是2010年電子工業出版社出版的圖書,作者是澤卡斯(NicholasC.Zakas)。

基本介紹

  • 書名:高性能JavaScript
  • 作者:澤卡斯(NicholasC.Zakas)
  • ISBN:9787121119323
  • 定價:49.00元
  • 出版社: 電子工業出版社
  • 出版時間:2010-11 
  • 開本: 16開
內容簡介,作者簡介,作品目錄,

內容簡介

如果你使用JavaScript構建互動豐富的Web套用,那么JavaScript代碼可能是造成你的Web套用速度變慢的主要原因。《高性能JavaScript》揭示的技術和策略能幫助你在開發過程中消除性能瓶頸。你將會了解如何提升各方面的性能,包括代碼的載入、運行、DOM互動、頁面生存周期等。雅虎的前端工程師Nicholas C. Zakas和其他五位JavaScript專家介紹了頁面代碼載入的最佳方法和編程技巧,來幫助你編寫更為高效和快速的代碼。你還會了解到構建和部署檔案到生產環境的最佳實踐,以及有助於定位線上問題的工具。

作者簡介

Nicholas C.Zakas,雅虎首頁的主要開發者,雅虎用戶界面庫(YUI)代碼貢獻者,擅長利用JavaScriptHTMLCSSXMLXSLT設計和實現WEB界面的軟體工程師。

作品目錄

前言 1
第1章:載入和執行 1
1.1 腳本位置 2
1.2 組織腳本 4
1.3 無阻塞的腳本 5
1.3.1 延遲的腳本 5
1.3.2 動態腳本元素 6
1.3.3 XMLHttpRequest腳本注入 9
1.3.4 推薦的無阻塞模式 10
1.4 小結 14
第2章:數據訪問 15
2.1 管理作用域 16
2.1.1 作用域鏈和標識符解析 16
2.1.2 標識符解析的性能 19
2.1.3 改變作用域鏈 21
2.1.4 動態作用域 24
2.1.5 閉包,作用域和記憶體 24
2.2.1 原型 27
2.2.2 原型鏈 29
2.2.3 嵌套成員 30
2.2.4 快取對象成員值 31
2.3 小結 33
第3章:DOM編程 35
3.1 瀏覽器中的DOM 35
3.1.1 天生就慢 36
3.2 DOM訪問與修改 36
3.2.1 innerHTML對比DOM方法 37
3.2.2 節點克隆 41
3.2.3 HTML集合 42
3.2.4 遍歷DOM 46
3.3 重繪與重排 50
3.3.1 重排何時發生? 51
3.3.2 渲染樹變化的排隊與刷新 51
3.3.3 最小化重繪和重排 52
3.3.4 快取布局信息 56
3.3.5 讓元素脫離動畫流 56
3.3.6 IE和:hover 57
3.4 事件委託 57
3.5 小結 59
第4章:算法和流程控制 61
4.1 循環 61
4.1.1 循環的類型 61
4.1.2 循環性能 63
4.1.3 基於函式的疊代 67
4.2 條件語句 68
4.2.1 if-else對比switch 68
4.2.2 最佳化if-else 70
4.2.3 查找表 72
4.3 遞歸 73
4.3.1 調用棧限制 74
4.3.2 遞歸模式 75
4.3.3 疊代 76
4.3.4 Memoization 77
4.4 小結 79
第5章:字元串和正則表達式 81
5.1 字元串連線 81
5.1.1 加(+)和加等於(+=)操作符 82
5.1.2 數組項連線 84
5.1.3 String.prototype.concat 86
5.2 正則表達式最佳化 87
5.2.1 正則表達式工作原理 88
5.2.2 理解回溯 89
5.2.3 回溯失控 91
5.2.4 基準測試的說明 96
5.2.5 更多提高正則表達式效率的方法 96
5.2.6 何時不使用正則表達式 99
5.3 去除字元串首尾空白 99
5.3.1 使用正則表達式去首尾空白 99
5.3.2 不使用正則表達式去除字元串首尾空白 102
5.3.3 混合解決方案 103
5.4 小結 104
第6章:快速回響的用戶界面 107
6.1 瀏覽器UI執行緒 107
6.1.1 瀏覽器限制 109
6.1.2 多久才算“太久”? 110
6.2 使用定時器讓出時間片段 111
6.2.1 定時器基礎 112
6.2.2 定時器的精度 114
6.2.3 使用定時器處理數組 114
6.2.4 分割任務 116
6.2.5 記錄代碼運行時間 118
6.2.6 定時器與性能 119
6.3 Web Workers 120
6.3.1 Worker運行環境 120
6.3.2 與Worker通信 121
6.3.3 載入外部檔案 122
6.3.4 實際套用 122
6.4 小結 124
第7章:Ajax 125
7.1 數據傳輸 125
7.1.1 請求數據 125
7.1.2 傳送數據 131
7.2 數據格式 134
7.2.1 XML 134
7.2.2 JSON 137
7.2.3 HTML 141
7.2.4 自定義格式 142
7.2.5 數據格式總結 144
7.3 Ajax性能指南 145
7.3.1 快取數據 145
7.3.2 了解Ajax類庫的限制 148
7.4 總結 149
第8章:編程實踐 151
8.1 避免雙重求值(Double Evaluation) 151
8.2 使用Object/Array直接量 153
8.3 不要重複工作 154
8.3.1 延遲載入 154
8.3.2 條件預載入 156
8.4 使用速度快的部分 156
8.4.1 位操作 156
8.4.2 原生方法 159
8.5 小結 161
第9章:構建並部署高性能JavaScript套用 163
9.1 Apache Ant 163
9.2 合併多個JavaScript檔案 165
9.3 預處理JavaScript檔案 166
9.4 JavaScript壓縮 168
9.5 構建時處理對比運行時處理 170
9.6 JavaScript的HTTP壓縮 170
9.7 快取JavaScript檔案 171
9.8 處理快取問題 172
9.9 使用內容分發網路(CDN) 173
9.10 部署JavaScript資源 173
9.11 敏捷JavaScript構建過程 174
9.12 小結 175
第10章:工具 177
10.1 JavaScript性能分析 178
10.2 YUI Profiler 179
10.3 匿名函式 182
10.4 Firebug 183
10.41 控制台面板分析工具 183
10.4.2 Console API 184
10.4.3 網路面板 185
10.5 IE開發人員工具 186
10.6 Safari Web查看器 188
10.6.1 描述檔案面板 189
10.6.2 資源面板 191
10.7 Chrome開發人員工具 192
10.8 腳本阻塞 193
10.9 Page Speed 194
10.10 Fiddler 196
10.11 YSlow 198
10.12 dyna Trace Ajax Edition 199
10.13 總結 202
索引 203

相關詞條

熱門詞條

聯絡我們