优化javascript的执行速度
更新时间:2010年01月23日 23:47:26 作者:
这个是我在网上找的资料,具体的出处,我已经记不清楚了,觉得很不错,就和大家分享了
1:修改循环的执行方式
for(var i=0;i<element.childNodes.length;i++){
执行代码
}
这种方式每次循环都要取element.childNodes.length的值,应该改为如下的
var n=element.childNodes.length
for(var i=0;i<n;i++){
执行代码
}
2:修改dom操作的次数
dom批量插入一批类似的节点不如先构造一个对象,插入一次
比如下面这种方法就是合理的:
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++){
执行代码
}
这种方式每次循环都要取element.childNodes.length的值,应该改为如下的
var n=element.childNodes.length
for(var i=0;i<n;i++){
执行代码
}
2:修改dom操作的次数
dom批量插入一批类似的节点不如先构造一个对象,插入一次
比如下面这种方法就是合理的:
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);
最新评论