最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS 網(wǎng)站性能優(yōu)化筆記

 更新時間:2011年05月24日 23:34:22   作者:  
JS 網(wǎng)站性能優(yōu)化筆記,使用下面的方法有利于提高代碼的執(zhí)行效率。

1. 除去JavaScript注釋

除了注釋,其他所有的 // or /* */ 注釋都可以安全刪除,因為它們對于最終使用者來說沒有任何意義。

2. 除去JavaScript中的空白區(qū)域

如:x = x + 1;  可以簡短得寫成:x=x+1;  。

3. 進行代碼優(yōu)化

簡單的方法如除去暗示的(implied)分號,某些情形下的變量聲明或者空回車語句都可以進一步減少腳本代碼。一些簡略的表達方式也會產(chǎn)生很好的優(yōu)化,例如:

x=x+1;

可以寫成:

x++;

不過得小心謹慎,不然代碼很容易出錯。

4. 重命名用戶自定義的變量和函數(shù)

為了閱讀方便,我們都知道在腳本中應該使用象sumTotal這樣的變量而不是s。不過,考慮到下載的速度,sumTotal這個變量就顯得冗長了。這個長度對于最終使用者來說沒有意義,但對瀏覽器下載則是個負擔。這個時候s就成為較好的選擇了。先寫好方便閱讀的代碼,然后再使用一些工具來處理以供交付。這種處理方式在這里再一次展示了其價值所在。將所有的名稱都重新用一個或兩個字母來命名將帶來顯著的改善。

5. 改寫內建(built-in)對象

長長用戶變量名會造成JavaScript代碼過長,除此之外,內建(built-in)對象(比如Window、Document、Navigator等)也是原因之一。例如:

alert(window.navigator.appName);
alert(window.navigator.appVersion);
alert(window.navigator.userAgent);

可以改寫成如下簡短的代碼:

w=window;n=w.navigator;a=alert;
a(n.appName);
a(n.appVersion);
a(n.userAgent);

如果這幾個對象使用頻繁的話,這樣改寫帶來的好處就不言而喻了。事實上這些對象也的確經(jīng)常被調用。然而我要提醒的是,如果Window或 Navigator對象僅僅被使用了一次的話,這樣的替換反而使代碼變得更長。這個技巧帶來一個對象更名后腳本執(zhí)行效率的問題:除了代碼長短上帶來的好處,這種改寫更名實際上還會稍微的提高一點腳本執(zhí)行的速度,因為這些對象將會被放在所有被調用對象中比較靠前的位置。JavaScript游戲開發(fā)程序員使用這個技巧已經(jīng)有多年了,下載和執(zhí)行速度都會有所提高,并且對本地瀏覽器的內存花銷也會降低,可謂一石三鳥。

6. 重構<script>和<style> 調用方式來優(yōu)化請求次數(shù)

我們常常在一個HTML文件頭中看到這樣標記代碼:

<script src="/scripts/rollovers.js"></script>
<script src="/scripts/validation.js"></script>
<script src="/scripts/tracking.js"></script>

大多數(shù)情況下,上述代碼應該被簡化成:

<script src="/0/g.js"></script>

其中g.js包含了所有供全局使用的函數(shù)。雖然把腳本文件分成三份對于維護來說是有道理的,但對于代碼的傳輸則沒有意義。單個的腳本下載要比三個分離的請求高效的多,并且這也同時簡化了markup代碼的長度。

7. 合并你的javascript文件

盡可能的減少HTTP的Request請求數(shù)。

8. 將腳本放到網(wǎng)頁底部

    腳本一般是用來于用戶交互的。所以如果頁面還沒有出來,用戶連頁面都不知道什么樣子,那談交互簡直就是扯談。所以,腳本和CSS正好相反,腳本應該放在頁面的底部。

    相關文章

    最新評論

    仪陇县| 宜丰县| 德州市| 英山县| 布拖县| 远安县| 秦皇岛市| 繁昌县| 西乌珠穆沁旗| 顺义区| 田阳县| 阜阳市| 九江市| 汽车| 公主岭市| 榆林市| 鸡西市| 建阳市| 扶绥县| 蓬溪县| 固阳县| 台安县| 上虞市| 萍乡市| 定远县| 正定县| 大埔区| 交口县| 芒康县| 治多县| 金沙县| 普定县| 扶余县| 景东| 岑巩县| 镇巴县| 平阳县| 财经| 壤塘县| 廊坊市| 临泽县|