数码资讯
减少访问DOM的次数,以提高Javascript的性能
访问DOM元素是昂贵的,和修改DOM元素是更昂贵的,因为它使浏览器重新计算页面的几何变化。 当然,最坏的情况是访问循环中的修改元素,尤其是html元素集合循环操作。 例如: 复制代码代码如下所示: 功能innerhtmlloop(){ 对于(var = 0;计数< 15000;计数+ +){ doc
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
访问DOM元素是昂贵的,和修改DOM元素是更昂贵的,因为它使浏览器重新计算页面的几何变化。
当然,最坏的情况是访问循环中的修改元素,尤其是html元素集合循环操作。
例如:
复制代码代码如下所示:
功能innerhtmlloop(){
对于(var = 0;计数< 15000;计数+ +){
document.getelementbyid().innerHTML += 'a';
}
}
此功能循环修改网页元素的内容。这段代码的问题在于循环的每次迭代,元素访问两次:一次读取的innerHTML属性,和其他的改写它。
一个更有效的方法是使用本地变量存储更新的内容,然后在循环结束时写入一次:
复制代码代码如下所示:
功能innerhtmlloop(){
var内容=;
对于(var = 0;计数< 15000;计数+ +){
内容+ = A;
}
document.getelementbyid().innerHTML +=内容;
}
访问DOM的时间越多,代码运行的速度就越慢,因此,当有其他的替代方案时,我们将尽量减少访问DOM的次数。
当然,最坏的情况是访问循环中的修改元素,尤其是html元素集合循环操作。
例如:
复制代码代码如下所示:
功能innerhtmlloop(){
对于(var = 0;计数< 15000;计数+ +){
document.getelementbyid().innerHTML += 'a';
}
}
此功能循环修改网页元素的内容。这段代码的问题在于循环的每次迭代,元素访问两次:一次读取的innerHTML属性,和其他的改写它。
一个更有效的方法是使用本地变量存储更新的内容,然后在循环结束时写入一次:
复制代码代码如下所示:
功能innerhtmlloop(){
var内容=;
对于(var = 0;计数< 15000;计数+ +){
内容+ = A;
}
document.getelementbyid().innerHTML +=内容;
}
访问DOM的时间越多,代码运行的速度就越慢,因此,当有其他的替代方案时,我们将尽量减少访问DOM的次数。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。