這是主要的問題:的JavaScript - 對象未能
var obj = {
"22": false,
"32": true,
}
console.log(obj.32) //<---- NOT WORKING??!?!?!
爲什麼我不能達到目標的一部分?
我知道你不能用數字開始變量,但你可以用對象部分,所以我怎麼讀這個?
這是主要的問題:的JavaScript - 對象未能
var obj = {
"22": false,
"32": true,
}
console.log(obj.32) //<---- NOT WORKING??!?!?!
爲什麼我不能達到目標的一部分?
我知道你不能用數字開始變量,但你可以用對象部分,所以我怎麼讀這個?
只需使用:
console.log(obj["32"]);
DEMO:http://jsfiddle.net/WrzbV/1/
或者obj[32]
- 的32
將被轉換爲字符串,然後會被發現只是與使用"32"
。
有兩種方法可以通過屬性名稱 - 括號符號(我建議的)和點符號(您正在使用的)來訪問一個對象。有了點符號,你必須使用一個有效的標識符,這32
不...就像你不能這樣做var 32 = "whatever";
參考:
剛剛完美,謝謝老兄! – user2336726 2013-05-09 15:41:32
您將無法用數字來訪問性能
要麼改變的關鍵,串
var obj = {
"i": false,
"j": true,
}
console.log(obj.i);
console.log(obj.j);
或使用
console.log(obj["32"])
或者,如果你可以使用jQuery然後使用
$.each(obj, function(key,value){
console.log(key +' -- '+ value);
});
一個JavaScript標識符必須以字母開頭,下劃線(_
),或美元符號($
)。 在JavaScript中,標識符不能以數字開頭。
正如已經說過的,使用數組語法來訪問對象屬性作爲obj["32"]
不要使用','在對象定義的末尾。舊版本的IE中斷。它允許在ECMAScript5中,但它更容易,只是不包括它 – Ian 2013-05-09 15:41:16