日本免费精品视频,男人的天堂在线免费视频,成人久久久精品乱码一区二区三区,高清成人爽a毛片免费网站

在線客服
高性能JavaScript圖書
人氣:96

高性能JavaScript

本書揭示的技術(shù)和策略能幫助你在開(kāi)發(fā)過(guò)程中消除性能瓶頸。你將會(huì)了解如何提升各方面的性能,包括代碼的加載、運(yùn)行、DOM 交互、頁(yè)面生存周期等。

內(nèi)容簡(jiǎn)介

如果你使用 JavaScript 構(gòu)建交互豐富的 Web 應(yīng)用,那么 JavaScript 代碼可能是造成你的Web應(yīng)用速度變慢的主要原因。本書揭示的技術(shù)和策略能幫助你在開(kāi)發(fā)過(guò)程中消除性能瓶頸。你將會(huì)了解如何提升各方面的性能,包括代碼的加載、運(yùn)行、DOM 交互、頁(yè)面生存周期等。雅虎的前端工程師 Nicholas C. Zakas 和其他五位 JavaScript 專家介紹了頁(yè)面代碼加載的方法和編程技巧,來(lái)幫助你編寫更為高效和快速的代碼。你還會(huì)了解到構(gòu)建和部署文件到生產(chǎn)環(huán)境的實(shí)踐,以及有助于定位線上問(wèn)題的工具。

目錄

前言 I

第1章:加載和執(zhí)行 1

1.1 腳本位置 2

1.2 組織腳本 4

1.3 無(wú)阻塞的腳本 5

1.3.1 延遲的腳本 5

1.3.2 動(dòng)態(tài)腳本元素 6

1.3.3 XMLHttpRequest腳本注入 9

1.3.4 推薦的無(wú)阻塞模式 10

1.4 小結(jié) 14

第2章:數(shù)據(jù)訪問(wèn) 15

2.1 管理作用域 16

2.1.1 作用域鏈和標(biāo)識(shí)符解析 16

2.1.2 標(biāo)識(shí)符解析的性能 19

2.1.3 改變作用域鏈 21

2.1.4 動(dòng)態(tài)作用域 24

2.1.5 閉包,作用域和內(nèi)存 24

2.2 對(duì)象成員 27

2.2.1 原型 27

2.2.2 原型鏈 29

2.2.3 嵌套成員 30

2.2.4 緩存對(duì)象成員值 31

2.3 小結(jié) 33

第3章:DOM編程 35

3.1 瀏覽器中的DOM 35

3.1.1 天生就慢 36

3.2 DOM訪問(wèn)與修改 36

3.2.1 innerHTML對(duì)比DOM方法 37

3.2.2 節(jié)點(diǎn)克隆 41

3.2.3 HTML集合 42

3.2.4 遍歷DOM 46

3.3 重繪與重排 50

3.3.1 重排何時(shí)發(fā)生? 51

3.3.2 渲染樹(shù)變化的排隊(duì)與刷新 51

3.3.3 小化重繪和重排 52

3.3.4 緩存布局信息 56

3.3.5 讓元素脫離動(dòng)畫流 56

3.3.6 IE和:hover 57

3.4 事件委托 57

3.5 小結(jié) 59

第4章:算法和流程控制 61

4.1 循環(huán) 61

4.1.1 循環(huán)的類型 61

4.1.2 循環(huán)性能 63

4.1.3 基于函數(shù)的迭代 67

4.2 條件語(yǔ)句 68

4.2.1 if-else對(duì)比switch 68

4.2.2 優(yōu)化if-else 70

4.2.3 查找表 72

4.3 遞歸 73

4.3.1 調(diào)用棧限制 74

4.3.2 遞歸模式 75

4.3.3 迭代 76

4.3.4 Memoization 77

4.4 小結(jié) 79

第5章:字符串和正則表達(dá)式 81

5.1 字符串連接 81

5.1.1 加(+)和加等于(+=)操作符 82

5.1.2 數(shù)組項(xiàng)連接 84

5.1.3 String.prototype.concat 86

5.2 正則表達(dá)式優(yōu)化 87

5.2.1 正則表達(dá)式工作原理 88

5.2.2 理解回溯 89

5.2.3 回溯失控 91

5.2.4 基準(zhǔn)測(cè)試的說(shuō)明 96

5.2.5 更多提高正則表達(dá)式效率的方法 96

5.2.6 何時(shí)不使用正則表達(dá)式 99

5.3 去除字符串首尾空白 99

5.3.1 使用正則表達(dá)式去首尾空白 99

5.3.2 不使用正則表達(dá)式去除字符串首尾空白 102

5.3.3 混合解決方案 103

5.4 小結(jié) 104

第6章:快速響應(yīng)的用戶界面 107

6.1 瀏覽器UI線程 107

6.1.1 瀏覽器限制 109

6.1.2 多久才算"太久"? 110

6.2 使用定時(shí)器讓出時(shí)間片段 111

6.2.1 定時(shí)器基礎(chǔ) 112

6.2.2 定時(shí)器的精度 114

6.2.3 使用定時(shí)器處理數(shù)組 114

6.2.4 分割任務(wù) 116

6.2.5 記錄代碼運(yùn)行時(shí)間 118

6.2.6 定時(shí)器與性能 119

6.3 Web Workers 120

6.3.1 Worker運(yùn)行環(huán)境 120

6.3.2 與Worker通信 121

6.3.3 加載外部文件 122

6.3.4 實(shí)際應(yīng)用 122

6.4 小結(jié) 124

第7章:Ajax 125

7.1 數(shù)據(jù)傳輸 125

7.1.1 請(qǐng)求數(shù)據(jù) 125

7.1.2 發(fā)送數(shù)據(jù) 131

7.2 數(shù)據(jù)格式 134

7.2.1 XML 134

7.2.2 JSON 137

7.2.3 HTML 141

7.2.4 自定義格式 142

7.2.5 數(shù)據(jù)格式總結(jié) 144

7.3 Ajax性能指南 145

7.3.1 緩存數(shù)據(jù) 145

7.3.2 了解Ajax類庫(kù)的局限 148

7.4 小結(jié) 149

第8章:編程實(shí)踐 151

8.1 避免雙重求值(Double Evaluation) 151

8.2 使用Object/Array直接量 153

8.3 不要重復(fù)工作 154

8.3.1 延遲加載 154

8.3.2 條件預(yù)加載 156

8.4 使用速度快的部分 156

8.4.1 位操作 156

8.4.2 原生方法 159

8.5 小結(jié) 161

第9章:構(gòu)建并部署高性能JavaScript應(yīng)用 163

9.1 Apache Ant 163

9.2 合并多個(gè)JavaScript文件 165

9.3 預(yù)處理JavaScript文件 166

9.4 JavaScript壓縮 168

9.5 構(gòu)建時(shí)處理對(duì)比運(yùn)行時(shí)處理 170

9.6 JavaScript的HTTP壓縮 170

9.7 緩存JavaScript文件 171

9.8 處理緩存問(wèn)題 172

9.9 使用內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN) 173

9.10 部署JavaScript資源 173

9.11 敏捷JavaScript構(gòu)建過(guò)程 174

9.12 小結(jié) 175

第10章:工具 177

10.1 JavaScript性能分析 178

10.2 YUI Profiler 179

10.3 匿名函數(shù) 182

10.4 Firebug 183

10.4.1 控制臺(tái)面板分析工具 183

10.4.2 Console API 184

10.4.3 網(wǎng)絡(luò)面板 185

10.5 IE開(kāi)發(fā)人員工具 186

10.6 Safari Web檢查器(Web Inspector) 188

10.6.1 分析面板 189

10.6.2 資源面板 191

10.7 Chrome開(kāi)發(fā)人員工具 192

10.8 腳本阻塞 193

10.9 Page Speed 194

10.10 Fiddler 196

10.11 YSlow 198

10.12 dynaTrace Ajax Edition 199

10.13 小結(jié) 202

索引 203

在線預(yù)覽

譯者序

這是一本關(guān)于JavaScript性能的書。

在Web應(yīng)用日趨豐富的今天,越來(lái)越多的JavaScript被運(yùn)用在我們的網(wǎng)頁(yè)中。隨著用戶體驗(yàn)被日益重視,前端性能對(duì)用戶體驗(yàn)的影響開(kāi)始備受關(guān)注,而引起性能問(wèn)題的因素相對(duì)復(fù)雜,因此它很難得到的解決。這本書是一個(gè)契機(jī),它嘗試著從多個(gè)方面綜合分析導(dǎo)致性能問(wèn)題的原因,并給出適合的解決方案,幫助我們改善Web應(yīng)用的品質(zhì)。

這本書頁(yè)數(shù)不多,但它承載著JavaScript性能方面為寶貴的經(jīng)驗(yàn)。不僅從語(yǔ)言特性、數(shù)據(jù)結(jié)構(gòu)、瀏覽器機(jī)理、網(wǎng)絡(luò)傳輸?shù)葘用娣治鰧?dǎo)致性能問(wèn)題的原因,還介紹了多種工具來(lái)幫助我們提升開(kāi)發(fā)過(guò)程和部署環(huán)節(jié)的工作效率。

本書作者Nicholas C. Zakas是一位經(jīng)驗(yàn)豐富的前端專家,他的許多研究(www.nczonline. net)對(duì)前端業(yè)界的貢獻(xiàn)讓我們受益匪淺。本書的另外五位特約作者均為各自領(lǐng)域的專家,他們的專業(yè)技能和知識(shí)的融入使得本書內(nèi)容更為充實(shí),更具實(shí)用價(jià)值。

特別感謝趙澤欣(小馬),他為審閱譯文花了大量的時(shí)間和精力,他的耐心和細(xì)致讓我十分敬佩。感謝朱寧(白鴉)和周筠老師的引薦讓我得以參與本書的翻譯。還要感謝博文視點(diǎn)的編輯們?cè)诒緯g過(guò)程中給予的極大理解和幫助。

我們?cè)诒緯g過(guò)程中力求保持行文流暢,但紕漏在所難免,懇請(qǐng)廣大讀者批評(píng)指正。關(guān)于本書的任何意見(jiàn)或想法,歡迎發(fā)送郵件至hpj.feedback@gmail.com。

后,希望本書能幫助業(yè)界同仁打造出性能更為的Web產(chǎn)品。

丁琛

網(wǎng)友評(píng)論(不代表本站觀點(diǎn))

來(lái)自a***e(**的評(píng)論:

比想象的薄太多

2017-06-03 09:57:02
來(lái)自無(wú)昵稱**的評(píng)論:

包裝完好,物流很快!

2017-07-07 15:08:09
來(lái)自無(wú)昵稱**的評(píng)論:

紙張很好!

2017-07-08 14:08:35
來(lái)自匿名用**的評(píng)論:

很好的一本書,以后再讀.

2017-07-09 17:25:53
來(lái)自冰***(**的評(píng)論:

書很好,除了封面有道輕微的壓痕,吐槽下送貨的人: 當(dāng)當(dāng)不送貨上門?快遞直接往速遞易一扔就直接點(diǎn)了已送達(dá)。。看到快遞信息更新的那刻,真的是一臉懵逼

2017-07-16 12:09:56
來(lái)自匿名用**的評(píng)論:

很好,書中容易理解,非常感謝作者這么用心,不錯(cuò)不錯(cuò)!

2017-07-21 09:47:10
來(lái)自匿名用**的評(píng)論:

包裝不錯(cuò),性價(jià)比高,紙質(zhì)好

2017-08-02 18:32:20
來(lái)自無(wú)昵稱**的評(píng)論:

包裝不錯(cuò),性價(jià)比很高,印刷很正,排版不錯(cuò),適合研讀,不適合初學(xué)者

2017-08-06 19:03:29
來(lái)自阿輝78**的評(píng)論:

很不錯(cuò)的書,斷斷續(xù)續(xù)看了部分,性價(jià)比高!

2017-08-14 15:50:24
來(lái)自無(wú)昵稱**的評(píng)論:

蹭積分專用評(píng)論

2017-08-29 11:12:56
來(lái)自無(wú)昵稱**的評(píng)論:

買給自己的學(xué)生看的,正好教這個(gè)學(xué)科,幫助很大

2017-09-07 19:40:58
來(lái)自匿名用**的評(píng)論:

啊啊啊啊啊啊

2017-09-20 22:38:19
來(lái)自匿名用**的評(píng)論:

為何不了,說(shuō)有敏感詞匯,無(wú)語(yǔ)了。

2017-10-28 20:10:43
來(lái)自行者201**的評(píng)論:

買來(lái)提升自己的

2017-10-29 00:23:42
來(lái)自無(wú)昵稱**的評(píng)論:

挺不錯(cuò)的,就是有個(gè)別例子已經(jīng)不再使用了,有點(diǎn)小遺憾,總體來(lái)說(shuō)還是挺好的

2015-11-15 11:50:32
來(lái)自無(wú)昵稱**的評(píng)論:

從書中看過(guò)的部分,已經(jīng)讓自己的知識(shí)又拓寬了

2016-12-18 12:42:26
來(lái)自無(wú)昵稱**的評(píng)論:

非常不錯(cuò)的書籍,非常值得前端工程師買一本來(lái)看

2016-06-26 19:22:43
來(lái)自無(wú)昵稱**的評(píng)論:

動(dòng)物書的確不錯(cuò),但這本書面相性能,相對(duì)不適合新手

2016-11-17 13:02:37
來(lái)自許瑞妍**的評(píng)論:

書很好。但對(duì)當(dāng)當(dāng)失望,一生黑!同城發(fā)貨,第二天就到我這個(gè)區(qū)了,等了一天完全沒(méi)動(dòng)靜,第三天才到,而且辦公樓都不送上來(lái)。當(dāng)當(dāng)?shù)奈锪魈珷€,沒(méi)有之一

2016-06-24 12:04:43
來(lái)自無(wú)昵稱**的評(píng)論:

講的很不錯(cuò) 拿到書就先看了一遍 搜獲還是挺多的

2016-11-13 21:24:38
來(lái)自yujiabi**的評(píng)論:

無(wú)論何時(shí)何地,性能一直是網(wǎng)站的一個(gè)非常重要的指標(biāo)。

2017-07-06 23:06:55
來(lái)自青靈惠**的評(píng)論:

這本書不錯(cuò),讀后對(duì)js有更深刻的理解,對(duì)寫出高性能的代碼有更好的理解。

2016-11-28 09:07:31
來(lái)自風(fēng)雷炫**的評(píng)論:

very good 很不錯(cuò) 之前對(duì)于性能這塊根本就沒(méi)考慮過(guò) 寫的也比較詳細(xì)

2016-07-07 11:27:49
來(lái)自無(wú)昵稱**的評(píng)論:

當(dāng)當(dāng)搞活動(dòng)買的,用來(lái)學(xué)習(xí)的工具書,希望又幫助,好好學(xué)習(xí),天天向上

2016-05-19 02:03:11

免責(zé)聲明

更多出版社