JavaScript代碼效能最佳化總結(推薦)_javascript技巧

來源:互聯網
上載者:User

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

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

盡量使用源生方法

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

避免全域尋找

在一個函數中會用到全域Object Storage Service為局部變數來減少全域尋找,因為訪問局部變數的速度要比訪問全域變數的速度更快些。

盡量減少迴圈次數

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

迴圈

switch

條件分支

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

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

使用三目運算子覆寫準則分支。

定時器

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

建立對象的另外一個辦法-不使用new

用做標記的變數儘可能使用布爾類型

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

以上這篇JavaScript代碼效能最佳化總結(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援雲棲社區。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.