1

a = {a: 1, b:2},在控制台中显示Object {a: 1, b: 2}

当我这样做时,a.a我得到 1。当我这样做时,a[a]我得到未定义。

正常吗?

我问这个是因为我需要从动态键中获取值。a[product1], a[product2]....

4

3 回答 3

10

是的,这很正常。

a[a]a[a.toString()]which 相同,a['[object Object]']并且您尚未在对象中定义具有该名称的属性。

如果您想使用方括号表示法来访问一个名为的属性,a那么您必须传递一个值为:或的字符串aa['a']var prop = 'a'; a[prop]

于 2013-07-12T09:50:11.990 回答
1

你能试试a['a']这将返回的值a

于 2013-07-12T09:50:23.707 回答
1

尝试像这样给予a["a"]a["product1"]

于 2013-07-12T09:53:39.007 回答