我需要访问
objectName.myID
但“myID”部分是动态生成的..
我该怎么做呢?
我试过了
this['objectName.'+ variable]
我讨厌使用 eval ......
ps 顺便说一句,这发生在一个函数(本地范围)中。
我需要访问
objectName.myID
但“myID”部分是动态生成的..
我该怎么做呢?
我试过了
this['objectName.'+ variable]
我讨厌使用 eval ......
ps 顺便说一句,这发生在一个函数(本地范围)中。
您可以通过两种方式访问对象属性:
o.propertyname
//or
o.["propertyname"]
使用括号表示法时,您必须将属性名放在引号中,否则它将被解释为变量名(在您的情况下,这正是您想要的)。因此,在您将属性名称存储为字符串的情况下,要走的路是:
var variable = "propertyname";
o[variable];
/* /\ variable is replace with it's string representation "propertyname" */
你甚至可以这样调用方法:
var o = {};
var functionname = 'toString';
o[functionname]();
您可以混合使用这两种符号,您的示例如下所示:
var obj = 'objectName';
var prop = 'myID';
this[obj][prop]
// or this is possible too:
this.objectName[prop]