JavaScript效率調優經驗

JavaScript效率調優經驗

  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,某些情況下的數組排序會導致死循環。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章