我有一个方法的名称作为 javascript 变量中的字符串,我想得到它调用变量的结果:
var myMethod = "methodToBeCalled";
var result;
eval("result = "+myMethod+"();")
这有效,没有问题。但是这个代码对于 Google Closure Compiler 是不可接受的。如何修改它以使用它?谢谢!
编辑:
当方法的名称在某个对象内部时,建议的解决方案似乎不起作用,例如:
var myFunction = function () { return "foo!" }
var myObject = {
itsMethod: function() { return "foo!" }
};
...
var fstMethodToCall = "myFunction"
var sndMethodToCall = "myObject.itsMethod";
...
window[fstMethodToCall](); // foo!
window[sndMethodToCall](); // undefined