最近在編寫一個JavaScript框架,發現有很多細節注意得不夠,擔心長時間累積會導致框架實際應用的時候出現嚴重的效率問題。於是開始注意JavaScript提高效率的一些技巧,在這裡分享給大家。
1.JavaScript是唯一一個對程式碼體積要求越小越好的語言,因此我們可以透過一些工具來精簡和壓縮JavaScript程式碼,如JSMin、Packer、YUICompressor等。這些工具會將局部變數的名字替換成很短的變數名,例如將parseFloat()替換成a()。因此我們在編寫JavaScript程式碼時,每個全域變數應被對應到一個局部變量,如var parseFloat = parseFloat;
2.透過JSLint來偵測你所寫的JavaScript,可以發現裡面隱藏的很多問題。 JSLint是一個JavaScript驗證工具(非開源),可以掃描JavaScript原始程式碼來找出問題。如果JSLint發現一 個問題,JSLint就會顯示描述這個問題的訊息,並指出錯誤在原始碼中的大致位置。
3.我們在寫JavaScript的時候常常需要遍歷一個數組,程式碼如下:
複製程式碼
程式碼如下:
for (var i=0;i
//do something
} 複製程式碼
代碼如下:
var l = array.length;
for (var i=0;i//do something
} 複製程式碼
程式碼如下:
var i=array.length;
while(i--){
//do something
}
}
複製程式碼
程式碼如下:
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
//do something
}
複製程式碼
程式碼如下:
var checkVal = function(val) {
var defined;
return val !== undefined;
};
複製程式碼
程式碼如下:
var str = (i "").replace(...);
複製代碼
代碼如下:
複製程式碼
程式碼如下: var array = new Array();
そうでない場合、これは数値変数を定義するときに var i = new Number(1) と記述するのと同じくらい無意味です
8 jQuery を使用する場合は、同じコード行で同じオブジェクトに対して複数の関数を実行してみてください。例:
$("p.ニート") .addClass("ohmy").show("slow");
$("p.neat").addClass("ohmy");
$("p.neat").show( "slow");
その他のヒントには、DocumentFragment を使用して複数の追加を最適化すること、childNodes の代わりに firstChild と nextSibling を使用して dom 要素を走査することなどが含まれます。
詳細については、このブログを参照してください: http://www.nowmagic.net/librarys/veda/detail/363
この記事は次の記事も参照しています: http://www.cnblogs.com /ジャスティンw /archive/2009/12/07/1618500.html