使用for / in循环javascript显示对象属性

时间:2013-06-11 16:51:25

标签: javascript

下面是一个简单的samlple,我想使用for / in循环

显示对象属性
var Object = { x:1, y:2, z:3 };
for (property in Object) {
  console.log(Object.property);
};

它显示未定义。

但如果使用console.log(Object[property]);则可行,并显示1 2 3

为什么我不能使用Object.property来显示for / in循环?

1 个答案:

答案 0 :(得分:6)

这与符号和语法

有关

Object.property会为您提供未定义的内容,因为您正在访问名为property的媒体资源。

如果你有这个对象:

var o = {
    property: "value",
    value: "foo"
};

o.property; // "value"
o["property"]; // "value" (equivalent)
o.value; // "foo"
o["value"]; // "foo" (equivalent)
o[o.property]; // "foo" no other notation possible

所以:

var Object = { x:1, y:2, z:3 };
for (property in Object) {
  console.log(Object.property);
};

property"x""y",然后是"z"。但Object.property相当于Object["property"]。而Object[property]会为您提供Object["x"]等等。