js的for in循环

JavaScript041

js的for in循环,第1张

for in循环中每次循环都会将对象的key赋值

例如for (key in obj),每次遍历key都会被赋值成对象obj的一个键名,{a:1,b:2}遍历过程key依次为a和b对于数组,key取得是数组下标

所以你这里遍历的是个数组,i的值分别是数组的下标,用for in遍历数组可能会由于数组增加可枚举的成员而变得不准确

你可以试一下在你的代码前加上

Array.prototype.a = 123

再运行看下结果就有问题了,不要用for in 遍历数组用forEach

for...in 语句用于对数组或者对象的属性进行循环操作。

for ... in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。

语法:

for (变量 in 对象)

{

   在此执行代码

}

“变量”用来指定变量,指定的变量可以是数组元素,也可以是对象的属性。

实例:

使用 for ... in 循环遍历数组。

<html>

<body>

<script type="text/javascript">

var x

var mycars = new Array()

mycars[0] = "Saab"

mycars[1] = "Volvo"

mycars[2] = "BMW"

for (x in mycars)

{

document.write(mycars[x] + "<br />")

}

</script>

</body>

</html>