優(yōu)化javascript的執(zhí)行速度
更新時間:2010年01月23日 23:47:26 作者:
這個是我在網(wǎng)上找的資料,具體的出處,我已經(jīng)記不清楚了,覺得很不錯,就和大家分享了
1:修改循環(huán)的執(zhí)行方式
for(var i=0;i<element.childNodes.length;i++){
執(zhí)行代碼
}
這種方式每次循環(huán)都要取element.childNodes.length的值,應該改為如下的
var n=element.childNodes.length
for(var i=0;i<n;i++){
執(zhí)行代碼
}
2:修改dom操作的次數(shù)
dom批量插入一批類似的節(jié)點不如先構造一個對象,插入一次
比如下面這種方法就是合理的:
var div=document.createElement("div");
for(var i=0;i<10;i++)[
var element=document.createElement("a");
a.href="";
div.appendChild(element);
}
//構建好對象后一次插入
document.body.appendChild(div);
3:減少對象的引用層次,可以減少瀏覽器對對象解析的復雜度
比如一個方法為 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的值,應該改為如下的
var n=element.childNodes.length
for(var i=0;i<n;i++){
執(zhí)行代碼
}
2:修改dom操作的次數(shù)
dom批量插入一批類似的節(jié)點不如先構造一個對象,插入一次
比如下面這種方法就是合理的:
var div=document.createElement("div");
for(var i=0;i<10;i++)[
var element=document.createElement("a");
a.href="";
div.appendChild(element);
}
//構建好對象后一次插入
document.body.appendChild(div);
3:減少對象的引用層次,可以減少瀏覽器對對象解析的復雜度
比如一個方法為 net.Loader.LoadXml(params)
不必每次都這么使用,可以
var loadXml=net.Loader.LoadXml;
loadXml(params);
相關文章
Javascript執(zhí)行流程細節(jié)原理解析
這篇文章主要介紹了Javascript執(zhí)行流程細節(jié)解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-05-05