優(yōu)化javascript的執(zhí)行速度
更新時(shí)間:2010年01月23日 23:47:26 作者:
這個(gè)是我在網(wǎng)上找的資料,具體的出處,我已經(jīng)記不清楚了,覺(jué)得很不錯(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è)對(duì)象,插入一次
比如下面這種方法就是合理的:
var div=document.createElement("div");
for(var i=0;i<10;i++)[
var element=document.createElement("a");
a.href="";
div.appendChild(element);
}
//構(gòu)建好對(duì)象后一次插入
document.body.appendChild(div);
3:減少對(duì)象的引用層次,可以減少瀏覽器對(duì)對(duì)象解析的復(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è)對(duì)象,插入一次
比如下面這種方法就是合理的:
var div=document.createElement("div");
for(var i=0;i<10;i++)[
var element=document.createElement("a");
a.href="";
div.appendChild(element);
}
//構(gòu)建好對(duì)象后一次插入
document.body.appendChild(div);
3:減少對(duì)象的引用層次,可以減少瀏覽器對(duì)對(duì)象解析的復(fù)雜度
比如一個(gè)方法為 net.Loader.LoadXml(params)
不必每次都這么使用,可以
var loadXml=net.Loader.LoadXml;
loadXml(params);
相關(guān)文章
js實(shí)現(xiàn)省市級(jí)聯(lián)效果分享
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)省市級(jí)聯(lián)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08Bootstrap3 圖片(響應(yīng)式圖片&圖片形狀)
這篇文章主要介紹了 Bootstrap3 圖片 響應(yīng)式圖片和圖片形狀的相關(guān)資料,需非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-01-01Javascript執(zhí)行流程細(xì)節(jié)原理解析
這篇文章主要介紹了Javascript執(zhí)行流程細(xì)節(jié)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05