这是我在这里的第一个问题,需要帮助理解 JavaScript 的 for in 循环。
当我运行以下代码时,从 alert 函数中得到的是 "undefined":
var o = {
a: "property 1",
b: "property 2",
c: "property 3",
d: "property 4"
}
for (p in o) {
alert(o.p);
}
但是如果我将.
更改为[ ]
(即alert(o[p])
),警报将按预期返回属性值。
为什么我不能使用.
来访问对象属性?
p
而不是名为p
的属性。因此,.
运算符特别用于属性标识符的名称 *(无论其是否存在)*,而[]
则用于将任何表达式的结果用作属性名称。 - user2437417