我想要一些澄清,當涉及到訪問對象,以及添加屬性,我完全是新的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_,但是它也將東西記錄到控制檯。 –