我想访问...的属性值
var $o = {a:2, b:{c:6}};
...通过$ o [ index ]表示法。
我正在使用最新的Firebug控制台(我不知道它是否使用ECMAScript 5 Strict Mode),但是当我使用$ o [0],$ o [0] .a或$ o ['0'时],我得到undefined和TypeError。
答案 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>