使用for ... in访问属性

时间:2014-01-20 22:34:49

标签: javascript

我正在尝试访问此对象的属性:

var obj = {hello: 1, world: 2};

这让我回复未定义:

function foo(a) {
  for(property in a) {
    console.log(a.property);
  }
  return "foo";
}

foo(obj);

这给出了预期的结果:

function bar(a) {
  for(property in a) {
    console.log(a[property]);
  }
  return "bar";
}

bar(obj);

为什么对foo的调用不起作用,而对bar的调用允许我访问属性?

1 个答案:

答案 0 :(得分:5)

因为a.propertya['property']相同,而不是a[property]。所以你实际上试图访问属性“property”。

您的第二个代码段使用变量property,前者使用属性property