我想要一些澄清,当涉及到访问对象,以及添加属性,我完全是新的Javascript。JavaScript的对象和属性:添加和访问属性
我有像这样的对象:
var device = {
dev1 : { "version" : "1.0", "name" : "AIR" },
dev2 : { "version" : "1.0", "name" : "BEE" }
}
有它为什么当我做这两条线搞砸了的原因吗? (我没有使用浏览器,但在JavaScript作为应用程序运行的纯粹。)
console.log(device.dev1['version']) returns undefined
console.log(device['dev1'].version) returns undefined
现在添加属性...我想用String类型的属性键名称。意思我不希望它看起来像这样。它必须遵循上面通过使用“s”描述的对象。
dev1 : { version : "1.0", name: "AIR" }
有没有办法将属性名称定义为字符串?可以这样做吗?
var newKey = "health";
device['dev1'].newKey = newValue;
非常感谢!
在你的最后一个例子中,你需要'device ['dev1'] [newKey]',它的计算结果为'device ['dev1'] ['health']'。 – apsillers
'dev1:{“version”:“1.0”,“name”:“AIR”}'后面缺少逗号。如果添加逗号,'console.log'语句就像您期望的那样工作。 –
正如牛排所说的那样,“。而且,'console.log'总是'return's _undefined_,但是它也将东西记录到控制台。 –