我有一个物体,我想看看里面有什么。因此,我使用了 print(object)
,其中可能包含 Spot: True
,表明猫 Spot 还活着。它返回[object object]
。因此,我尝试了 show(object)
,结果得到了 Spot: True
。我认为这是对的,但我不确定索引是什么样的。例如,我不确定键是关联键还是数字键,甚至不确定 JavaScipt 中是否允许关联数组。
我想知道为什么是因为 for (var cats in object){show(cats);}
返回 Spot
。我找不到一种方法来定位字符串“cat”作为数组的一部分。
最佳答案
示例中的 cats
是一个 new 变量,用于保存迭代的每个对象。
是的,“关联数组”是允许的,但它们实际上只是对象:
var foo = {
bar: "baz"
}
alert(foo.bar);
alert(foo["bar"]);
回复:for/in
语句:它或多或少与以下内容相同,此处使用数组:
var cats;
var arr = [42, 69];
for (var i = 0; i < arr.length; i++) {
cats = arr[i];
alert(cats);
}
或者你可以使用for/in
,它会变成:
for (cats in arr) {
alert(arr[cats]);
}
数组略有不同,但数组中也没有“猫”。
关于javascript - 如果对象中最初没有 var x,那么 for(var x in object) 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7824523/