JavaScript 程式碼效能優化總結

發表於2015-10-11

下面是我總結的一些小技巧,僅供參考。

以下程式碼基本上在jQuery的原始碼裡面都可以看到,如有說得不對的地方,請大家指出。

儘量使用源生方法

javaScript是解釋性語言,相比編譯性語言執行速度要慢。瀏覽器已經實現的方法,就不要再去實現一遍了。另外,瀏覽器已經實現的方法在演算法方面已經做了很多優化。

避免全域性查詢

在一個函式中會用到全域性物件儲存為區域性變數來減少全域性查詢,因為訪問區域性變數的速度要比訪問全域性變數的速度更快些。

儘量減少迴圈次數

少一層迴圈,就能提高數倍效能。如果要對一個陣列的每個元素進行多次操作,儘可能使用一次迴圈,多次操作,而不是多次迴圈,每次迴圈執行一次操作。尤其是在進行多個正則匹配的時候,儘可能合併正規表示式,在一次遍歷中儘可能找到相應的匹配。

迴圈

switch

條件分支

將條件分支,按可能性順序從高到低排列:可以減少直譯器對條件的探測次數。

在同一條件 >2條件分支時,使用switch優於if:switch分支選擇的效率高於if,在IE下尤為明顯。4條分支的測試,IE下switch的執行時間約為if的一半。

使用三目運算子替代條件分支。

定時器

如果針對的是不斷執行的程式碼,不應該使用setTimeout,而應該是用setInterval,因為setTimeout每一次都會初始化一個定時器,而setInterval只會在開始的時候初始化一個定時器。

建立物件的另外一個辦法-不使用new

用做標記的變數儘可能使用布林型別

直接用true和false做標記,不要使用數字或者字串的1和0來做標記。

相關文章