使用括号表示法访问Javascript对象的属性

使用括号表示法访问Javascript对象的属性,javascript,Javascript,我想访问…的属性值 var $o = {a:2, b:{c:6}}; …通过$o[索引]符号 我正在使用最新的Firebug控制台(我不知道它是否在使用ECMAScript 5严格模式),但当我使用$o[0]、$o[0].a或$o['0']时,我会得到未定义和类型错误。$o是对象,您可以将其作为唯一关联数组进行操作: $o['a'] 或简单为对象: $o.a 不能像使用数字数组那样使用对象。对象没有索引,只有属性 数组有索引,但也可以有属性,因为它们是对象的子类 由于您有一个对象,因此需要

我想访问…的属性值

var $o = {a:2, b:{c:6}};
…通过$o[索引]符号


我正在使用最新的Firebug控制台(我不知道它是否在使用ECMAScript 5严格模式),但当我使用$o[0]、$o[0].a或$o['0']时,我会得到未定义和类型错误。

$o
是对象,您可以将其作为唯一关联数组进行操作:

$o['a']
或简单为对象:

$o.a

不能像使用数字数组那样使用对象。

对象没有索引,只有属性

数组有索引,但也可以有属性,因为它们是对象的子类


由于您有一个对象,因此需要执行
$o[“a”]

如果您希望“索引”起作用,那么“索引”应该是您实际获得的属性名称之一。特别是,数字索引在任何方面都不是特别的,并且不能使用数组索引语义从普通对象提取属性。也就是说,除非属性的名称已经是数字,否则无法通过数字索引获取对象的属性值。

由于JSON标准,可以使用类似于关联数组的字符串,将对象属性用括号括起来。但是,在javascript中,这是无效的:var b={Name[first]:“John”}

例如,以下代码是有效的:

var jstr='{“Name[first]:“John”}';
var person=JSON.parse(jstr);
控制台日志(个人);
document.getElementById(“demo”).innerHTML=person[“Name[first]”


在此处显示结果。

请不要在引用javscript时使用诸如“关联数组”之类的术语-这会造成混淆,因为它实际上不是数组。