我在这里失去了它..我现在对这个循环的工作原理感到非常困惑。
来自 w3 学校:
var person={fname:"John",lname:"Doe",age:25};
for (x in person)
{
document.write(person[x] + " ");
}
人是一个具有属性的对象,对吗?如何使用括号访问这些属性?我以为那是用于数组的?
为什么这也有效,而且不应该只是这样?:
var person=[];
person["fname"] = "John";
person["lname"] = "Doe";
person["age"] = "25";
for (x in person)
{
document.write(person[x] + " ");
}
最佳答案
有两种方法可以访问对象的属性:
obj.key
obj['key']
第二种方法的优点是您还可以动态提供 key ,例如在您的示例中,obj[x]
。 obj.x
字面意思是 x
属性(即 obj['x']
),这不是您想要的。
数组只能与括号一起使用,但括号不限于数组。数组本质上也是对象,但专为数字键而设计。您仍然可以向其中添加带有非数字键的属性,但这不是它们的设计目的。
关于javascript - 对于..循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6773981/