访问DOM元素是昂贵的,和修改DOM元素是更昂贵的,因为它使浏览器重新计算页面的几何变化。

当然,最坏的情况是访问循环中的修改元素,尤其是html元素集合循环操作。

例如:
复制代码代码如下所示:


功能innerhtmlloop(){
对于(var = 0;计数< 15000;计数+ +){
document.getelementbyid().innerHTML += 'a';
}
}


此功能循环修改网页元素的内容。这段代码的问题在于循环的每次迭代,元素访问两次:一次读取的innerHTML属性,和其他的改写它。

一个更有效的方法是使用本地变量存储更新的内容,然后在循环结束时写入一次:
复制代码代码如下所示:


功能innerhtmlloop(){
var内容=;
对于(var = 0;计数< 15000;计数+ +){
内容+ = A;
}
document.getelementbyid().innerHTML +=内容;
}


访问DOM的时间越多,代码运行的速度就越慢,因此,当有其他的替代方案时,我们将尽量减少访问DOM的次数。