js中的length

数组和集合都有length属性,我们常常用length来遍历它们

注意一下length,length的值变量,取length值时每次都检测length的是多少,

如果在遍历时添加数据,很有可能造成死循环

1
2
3
4
5
var alldivs = document.getElementsByTagName(‘div’);
for (var i = 0; i < alldivs.length; i++) {
console.log(alldivs);
//document.body.appendChild(document.createElement(‘div’))
}

死循环

可以用一个变量len,由于只赋值一次,即时length的值变化,len也是固定的

1
2
3
4
5
6
7
8
var arr = [];
arr[0] = 0;
arr[1] = 1;
var len = arr.length;
for(var i=0;i<len;i++){
console.log(arr);
arr.push(1);
}

ok