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

时间:2011-09-16 15:25:33

标签: javascript

我想访问...的属性值

var $o = {a:2, b:{c:6}};

...通过$ o [ index ]表示法。

我正在使用最新的Firebug控制台(我不知道它是否使用ECMAScript 5 Strict Mode),但是当我使用$ o [0],$ o [0] .a或$ o ['0'时],我得到undefined和TypeError。

4 个答案:

答案 0 :(得分:1)

对象没有索引,只有属性。

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

由于你有一个对象,你需要$o["a"]

答案 1 :(得分:0)

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

$o['a']

或简单作为对象:

$o.a

您无法使用数字数组操作对象。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

多亏了JSON标准,人们可以拥有一个对象属性,括号围绕一个类似于关联数组的字符串。但是,在javascript中,这是无效的:var b = {Name [first]:“John”};

例如,以下代码有效:

var jstr = '{"Name[first]": "John"}';
var person = JSON.parse(jstr);
console.log(person);
document.getElementById("demo").innerHTML = person["Name[first]"];
<!DOCTYPE html>

<p id="demo">Display the result here.</p>