JavaScript效率調優經驗

來源:互聯網
上載者:User

1. 將迴圈次數的定義放到迴圈體外:這點好像所有的語言都是一樣的,在100個元素以上時效果越來越明顯。也就是說將for(var i=0;i<arrData.length;i++)修改為for(var i=0,len=arrData.length;i<len;i++)會很大地提高效能,因為它避免了每迴圈一次計算一下length的操作。另外,有老外宣稱,降序迴圈速度更快,即for(var i=arrData.length-1;i>=0;i--)。本人測試後發現和升序迴圈相比效率差異不大。
2. 將多層對象引用改為更短路徑的引用:JavaScript中,這個問題非常明顯,如proposalNo域var proposalNoField = fm.proposalNo。在一個迴圈中(100次以上)使用proposalNoField.value和fm.proposalNo.value的區別非常巨大。所以盡量通過使用中間變數的方式來縮短訪問路徑。
3. 第三方JavaScript包的影響:由於JavaScript支援原型,如prototype.js就修改了Array的一些行為,有時自己寫的代碼是沒有問題的,但是如果被修改了原型,則也會發生問題,如prototype.js的1.4版本就存在Bug,某些情況下的數組排序會導致死迴圈。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.