var x
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"
for (x in mycars)
{
document.write(mycars[x] + "<br />")
}
为什么这里X的值默认就成了0,1,2啊
这就是for…in
这个语法的作用…………
如果你一定要问为什么x
的值成了0、1、2,这你得去问Brendan Eich
。
x 不是属性key么,你这里的mycars对象里的key不就是0,1,2?
for...in 语句
这个 for...in 语句循环一个指定的变量来循环一个对象所有可枚举的属性。JavaScript 会为每一个不同的属性执
行指定的语句。数组
虽然用for...in来迭代Array元素很诱人,但是它返回的除了数字索引外还有可能是你自定义的属性名字。因此还是用带有数字索引的传统的for 循环来迭代一个数组比较好,因为如果你想改变数组对象,比如添加属性或者方法,for...in 语句迭代的是 自定义的属性而不是数组的元素。
https://developer.mozilla.org...语句
我想题主应该使用:for of
https://developer.mozilla.org...
var x
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"
for (x of mycars)
{
// x 就是 "Saab"、"Volvo"、"BMW"了
}
遍历数组默认下标是 0 1 2 。。。 遍历对象默认是key
for in 循环的是下标,语法就是这样的