【发布时间】:2013-08-31 23:30:00
【问题描述】:
我在这里的第一个问题需要帮助理解 JavaScript 中的 for in 循环。
当我运行以下代码时,我从警报函数中得到“未定义”:
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的属性。因此,.运算符专门用于属性标识符的名称(它们是否存在),而[]用于使用任何表达式的结果作为属性名称。
标签: javascript loops for-in-loop