[英]Immutability - Accessing JavaScript number with object bracket notation
[英]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.