我有一个包含我想要调用的方法的对象。
myOb = {
f1 : function() {
console.log("hello from f1") ;
}
}
我以字符串的形式获得了对象的名称。
str = "myOb" ;
当我以myOb的形式命名时,如何调用myOb上的方法?
答案 0 :(得分:3)
您必须对this
对象使用window
语句引用。
this[str].f1();
示例:
myOb = {
f1 : function() {
console.log("hello from f1") ;
}
}
str = "myOb" ;
this[str].f1();
如果您拥有local
范围,则可以使用bind
方法。
myOb = {
f1 : function() {
console.log("hello from f1") ;
}
}
str = "myOb";
(function() {
this[str].f1();
}).bind(this)();
答案 1 :(得分:3)
您可以使用eval()执行此操作(也适用于NodeJS)。
myOb = {
f1 : function() {
console.log("hello from f1") ;
}
}
str = "myOb" ;
eval(str).f1()