一.javascript中的for in循环和for循环的使用
JavaScript
for...in 语句
for...in 语句用于对数组或者对象的属性进行循环操作。
for ... in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。
Tip:for-in循环应该用在非数组对象的遍历上,使用for-in进行循环也被称为“枚举”。
所以建议不要对数组执行for in循环,事实上,在高性能javascript这本书中,也强调了for in循环的不好,因为它总是会访问该对象的原型,看下原型上是否有属性,这在无意中就给遍历增加了额外的压力。
实例:在数组的原型对象上定义了一个新的属性,使用for循环没出现问题(在随机模块添加中)
var divNodeArray = topNode.children
console.log(typeof(divNodeArray),divNodeArray)
for(var i=0;i<divNodeArray.length;i++)
{
var divNode2 = divNodeArray[i]
divNode2.style.backgroundColor = randomColor()
console.log(divNode2,typeof(divNode2))
}

实例:在数组的原型对象上定义了一个新的属性,使用for...in语句出现问题(在随机模块添加中,但不影响实际效果)
var divNodeArray = topNode.children
console.log('前',typeof(divNodeArray),divNodeArray)
for(index in divNodeArray)
{
var divNode2 = divNodeArray[index]
divNode2.style.backgroundColor = randomColor()
console.log(divNode2,typeof(divNode2))
}

网友评论