JavaScript性能问题——2018-02-24

2018-02-24  本文已影响0人  不2青年

一、for循环:

1、遍历数组:

var aName = ['张三','李四','王五'];
for(var i=0;i<aName.length;i++){
  alert(aName[i]);
}

问题:每进行一次循环都会计算一次数组的长度。

改进:提前将数组的长度计算出来,并存起来,使数组的长度只需要计算一次。

var aName = ['张三','李四','王五'];
var length = aName.length;
for(var i=0;i<length;i++){
  alert(aName[i]);
}

2、innerHTML

例如向body中添加2000个按钮:

for(var i=0;i<2000;i++){
  document.body.innerHTML += '<input type="button" value="按钮"/>'; 
}

问题:每一次添加一个按钮都会将原先的按钮都保存并重新覆盖一边。

改进:将要添加的HTML语句提前存到一个字符串里面,然后通过innerHTML一次性添加进去。

var string="" ;
for(var i=0;i<2000;i++){
  string += '<input type="button" value="按钮"/>'; 
}
document.body.innerHTML = string;
上一篇下一篇

猜你喜欢

热点阅读