Possible Duplicate:
Javascript use variable as object name
如何让 JS 将字符串视为对先前定义的对象的引用?简化:
var myObject = new MyObject();
var myString = "myObject";
var wantThisToWork = myString.myproperty;
最佳答案
如果变量在全局范围内,则可以将其作为全局对象的属性进行访问
var a = "hello world";
var varName = "a";
console.log( window[varName] ); // outputs hello world
console.log( this[varName] ); // also works (this === window) in this case
但是,如果它是局部变量,唯一的方法是使用 eval
( disclaimer )
function () {
var a = "hello world";
var varName = "a";
console.log( this[varName] ); // won't work
console.log( eval(varName) ); // Does work
}
除非您可以将动态变量放入对象中并像属性一样访问它
function () {
var scope = {
a: "hello world";
};
var varName = "a";
console.log( scope[varName] ); // works
}
关于Javascript:将字符串解释为对象引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10953303/