可能是某人的扣篮,但我不知道为什么这段代码的行为方式如下:
testObjects = [ { "HI" : "how are you" } ];
for (obj in testObjects) { alert(obj.HI); }
Run Code Online (Sandbox Code Playgroud)
它警告'未定义'(不是"你好吗").有人会介意解释吗?
谢谢.
for... in迭代键,而不是元素.所以for(obj in testObjects)means obj是键,在这种情况下是0(因为它是一个数组).
你可以做到
for (key in testObjects) {
alert(testObjects[key].HI)
}
Run Code Online (Sandbox Code Playgroud)
但是,这不是一个好习惯.如果你这样做,并且有人testOjbects向所有数组添加方法,它也将迭代该方法.
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |