1. 除去JavaScript注釋
除了注釋,其他所有的 // or /* */ 注釋都可以安全刪除,因為它們對於最終使用者來說沒有任何意義。
2. 除去JavaScript中的空白區域
如:x = x + 1; 可以簡短得寫成:x=x+1; 。
3. 進行代碼優化
簡單的方法如除去暗示的(implied)分號,某些情形下的變量聲明或者空回車語句都可以進一步減少腳本代碼。一些簡略的表達方式也會產生很好的優化,例如:
x=x+1;
可以寫成:
x++;
不過得小心謹慎,不然代碼很容易出錯。
4. 重命名用戶自定義的變量和函數
為了閱讀方便,我們都知道在腳本中應該使用象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);
如果這幾個對象使用頻繁的話,這樣改寫帶來的好處就不言而喻了。事實上這些對象也的確經常被調用。然而我要提醒的是,如果Window或 Navigator對象僅僅被使用了一次的話,這樣的替換反而使代碼變得更長。這個技巧帶來一個對象更名後腳本執行效率的問題:除了代碼長短上帶來的好處,這種改寫更名實際上還會稍微的提高一點腳本執行的速度,因為這些對象將會被放在所有被調用對象中比較靠前的位置。JavaScript游戲開發程序員使用這個技巧已經有多年了,下載和執行速度都會有所提高,並且對本地浏覽器的內存花銷也會降低,可謂一石三鳥。
6. 重構<script>和<style> 調用方式來優化請求次數
我們常常在一個HTML文件頭中看到這樣標記代碼:
<script src="/scripts/rollovers.js"></script>
<script src="/scripts/validation.js"></script>
<script src="/scripts/tracking.js"></script>
大多數情況下,上述代碼應該被簡化成:
<script src="/0/g.js"></script>
其中g.js包含了所有供全局使用的函數。雖然把腳本文件分成三份對於維護來說是有道理的,但對於代碼的傳輸則沒有意義。單個的腳本下載要比三個分離的請求高效的多,並且這也同時簡化了markup代碼的長度。
7. 合並你的javascript文件
盡可能的減少HTTP的Request請求數。
8. 將腳本放到網頁底部
腳本一般是用來於用戶交互的。所以如果頁面還沒有出來,用戶連頁面都不知道什麼樣子,那談交互簡直就是扯談。所以,腳本和CSS正好相反,腳本應該放在頁面的底部。