在Javascript中,我有一個對象:如何動態引用對象?
obj = { one: "foo", two: "bar" };
現在,我想這樣做呢
var a = 'two';
if(confirm('Do you want One'))
{
a = 'one';
}
alert(obj.a);
但是,當然,這是行不通的。什麼是動態引用這個對象的正確方法?
在Javascript中,我有一個對象:如何動態引用對象?
obj = { one: "foo", two: "bar" };
現在,我想這樣做呢
var a = 'two';
if(confirm('Do you want One'))
{
a = 'one';
}
alert(obj.a);
但是,當然,這是行不通的。什麼是動態引用這個對象的正確方法?
簡短的回答:obj[a]
長回答:obj.field
僅僅是obj["field"]
的簡寫,對於關鍵是沒有空格,點,或常量字符串的特殊情況其他討厭的東西。在你的問題中,關鍵不是一個常量,所以只需使用完整的語法。
像這樣:
obj[a]
作爲一個側面說明,全局變量連接到「窗口」的對象,所以你可以做
var myGlobal = 'hello';
var a = 'myGlobal';
alert(window[a] + ', ' + window.myGlobal + ', ' + myGlobal);
這將提醒「喂,你好,你好」