繁体   English   中英

使用括号符号访问Javascript对象的属性

[英]Accessing a property of a Javascript object with bracket notation

我想访问...的属性值

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

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

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

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

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

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

多亏了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> 

$o是对象,您只能将其用作关联数组:

$o['a']

或简单地作为对象:

$o.a

您不能像使用数字数组那样对对象进行操作。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM