我需要知道爲什麼這不起作用。我的Javascript代碼訪問對象中的變量。但它似乎沒有工作,部分原因是我無法弄清楚語法。JavaScript調用對象語法
var obj = {
size:"small",
big:false,
thing:true
}
alert(obj[size]);
我只是不知道如果我的語法正確的...
我需要知道爲什麼這不起作用。我的Javascript代碼訪問對象中的變量。但它似乎沒有工作,部分原因是我無法弄清楚語法。JavaScript調用對象語法
var obj = {
size:"small",
big:false,
thing:true
}
alert(obj[size]);
我只是不知道如果我的語法正確的...
您可以參考對象的值或者通過:
obj["size"]
或
obj.size
但是,有一個例外。舉例來說,如果你有以下對象與數字鍵(注:關鍵還是即使它是這樣定義的字符串):
var obj = {
1: true
};
只能通過檢索它的值:obj["1"]
因此,使用obj.1
將導致語法錯誤。
因此,如果您將其更改爲例如:alert(obj["size"]);
,但我更願意使用console.log(obj["size"]);
進行調試,則該代碼有效。至少,如果你正在玩node.js,就像你的標籤所指示的那樣。
乾杯。
這將在這裏工作。
obj.size //returns small
OR
obj["size"] //returns small
OR
var my_var = "size"
obj[my_var] //returns small
準確。當你執行'obj [size]'時,它試圖使用名爲「size」的變量的值作爲對象的索引(這是一個潛在的有用的事情,但不是你想要的)。 –
您正在訪問該對象的一個*屬性** – BeNdErR
也是,問題標記爲'node','alert'在'node'中不可用。改用'console.log'。 –