優(yōu)化javascript的執(zhí)行速度
更新時(shí)間:2010年01月23日 23:47:26 作者:
這個(gè)是我在網(wǎng)上找的資料,具體的出處,我已經(jīng)記不清楚了,覺得很不錯(cuò),就和大家分享了
1:修改循環(huán)的執(zhí)行方式
for(var i=0;i<element.childNodes.length;i++){
執(zhí)行代碼
}
這種方式每次循環(huán)都要取element.childNodes.length的值,應(yīng)該改為如下的
var n=element.childNodes.length
for(var i=0;i<n;i++){
執(zhí)行代碼
}
2:修改dom操作的次數(shù)
dom批量插入一批類似的節(jié)點(diǎn)不如先構(gòu)造一個(gè)對象,插入一次
比如下面這種方法就是合理的:
var div=document.createElement("div");
for(var i=0;i<10;i++)[
var element=document.createElement("a");
a.href="";
div.appendChild(element);
}
//構(gòu)建好對象后一次插入
document.body.appendChild(div);
3:減少對象的引用層次,可以減少瀏覽器對對象解析的復(fù)雜度
比如一個(gè)方法為 net.Loader.LoadXml(params)
不必每次都這么使用,可以
var loadXml=net.Loader.LoadXml;
loadXml(params);
for(var i=0;i<element.childNodes.length;i++){
執(zhí)行代碼
}
這種方式每次循環(huán)都要取element.childNodes.length的值,應(yīng)該改為如下的
var n=element.childNodes.length
for(var i=0;i<n;i++){
執(zhí)行代碼
}
2:修改dom操作的次數(shù)
dom批量插入一批類似的節(jié)點(diǎn)不如先構(gòu)造一個(gè)對象,插入一次
比如下面這種方法就是合理的:
var div=document.createElement("div");
for(var i=0;i<10;i++)[
var element=document.createElement("a");
a.href="";
div.appendChild(element);
}
//構(gòu)建好對象后一次插入
document.body.appendChild(div);
3:減少對象的引用層次,可以減少瀏覽器對對象解析的復(fù)雜度
比如一個(gè)方法為 net.Loader.LoadXml(params)
不必每次都這么使用,可以
var loadXml=net.Loader.LoadXml;
loadXml(params);
相關(guān)文章
一文學(xué)會JavaScript如何手寫防抖節(jié)流
其實(shí)防抖和節(jié)流不僅僅在面試中會讓大家手寫,在實(shí)際項(xiàng)目中也可以起到性能優(yōu)化的作用,所以還是很有必要掌握的。這篇文章就帶大家徹底學(xué)會JavaScript手寫防抖節(jié)流,希望對大家有所幫助2022-11-11
在JavaScript中創(chuàng)建對象的可行方法小結(jié)
在Web前端開發(fā)中,JavaScript是一門功能強(qiáng)大的語言,其核心之一便是對象的創(chuàng)建與操作,對象是JavaScript中數(shù)據(jù)結(jié)構(gòu)的重要組成部分,本文將深入探討JavaScript中創(chuàng)建對象的各種方法,并結(jié)合代碼示例和實(shí)際開發(fā)經(jīng)驗(yàn)進(jìn)行詳細(xì)講解,需要的朋友可以參考下2025-03-03
js遍歷添加欄目類添加css 再點(diǎn)擊其它刪除css【推薦】
這篇文章主要介紹了js遍歷添加欄目類添加css 再點(diǎn)擊其它刪除css的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒借鑒價(jià)值,需要的朋友可以參考下2018-06-06

