JavaScript效率調(diào)優(yōu)經(jīng)驗
更新時間:2009年06月04日 02:11:33 作者:
有時候大家在使用多字符的時候,需要用的到下面的知識。
1. 將循環(huán)次數(shù)的定義放到循環(huán)體外:這點好像所有的語言都是一樣的,在100個元素以上時效果越來越明顯。也就是說將for(var i=0;i<arrData.length;i++)修改為for(var i=0,len=arrData.length;i<len;i++)會很大地提高性能,因為它避免了每循環(huán)一次計算一下length的操作。另外,有老外宣稱,降序循環(huán)速度更快,即for(var i=arrData.length-1;i>=0;i--)。本人測試后發(fā)現(xiàn)和升序循環(huán)相比效率差異不大。
2. 將多層對象引用改為更短路徑的引用:JavaScript中,這個問題非常明顯,如proposalNo域var proposalNoField = fm.proposalNo。在一個循環(huán)中(100次以上)使用proposalNoField.value和fm.proposalNo.value的區(qū)別非常巨大。所以盡量通過使用中間變量的方式來縮短訪問路徑。
3. 第三方JavaScript包的影響:由于JavaScript支持原型,如prototype.js就修改了Array的一些行為,有時自己寫的代碼是沒有問題的,但是如果被修改了原型,則也會發(fā)生問題,如prototype.js的1.4版本就存在Bug,某些情況下的數(shù)組排序會導(dǎo)致死循環(huán)。
2. 將多層對象引用改為更短路徑的引用:JavaScript中,這個問題非常明顯,如proposalNo域var proposalNoField = fm.proposalNo。在一個循環(huán)中(100次以上)使用proposalNoField.value和fm.proposalNo.value的區(qū)別非常巨大。所以盡量通過使用中間變量的方式來縮短訪問路徑。
3. 第三方JavaScript包的影響:由于JavaScript支持原型,如prototype.js就修改了Array的一些行為,有時自己寫的代碼是沒有問題的,但是如果被修改了原型,則也會發(fā)生問題,如prototype.js的1.4版本就存在Bug,某些情況下的數(shù)組排序會導(dǎo)致死循環(huán)。
相關(guān)文章
詳解MVC如何使用開源分頁插件(shenniu.pager.js)
本文主要分享了shenniu.pager.js整個插件內(nèi)容,不多且清晰。具有很好的參考價值,需要的朋友一起來看下吧2016-12-12淺析Javascript中bind()方法的使用與實現(xiàn)
下面小編就為大家?guī)硪黄獪\析Javascript中bind()方法的使用與實現(xiàn)。小編覺得挺2016-05-05layui checkbox默認選中,獲取選中值,清空所有選中項的例子
今天小編就為大家分享一篇layui checkbox默認選中,獲取選中值,清空所有選中項的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09微信小程序tabBar組件切換與下拉刷新實現(xiàn)詳解
tabBar相對而言用的還是比較多的,但是用起來并沒有難,下面這篇文章主要給大家介紹了關(guān)于微信小程序全局配置之tabBar的相關(guān)資料,文中通過圖文以及示例代碼介紹的非常詳細,需要的朋友可以參考下2022-10-10