在 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);
这将提醒“你好,你好,你好”