我正在尝试调用一个函数,其名称在代码中的其他地方定义。
下面是示例代码:
Inner.testFunc = function(node) {
var functionName = node.substring(node, to.indexOf('@'));
// call the function based on functionName
[functionName + '()']
}
function something() {
//doing something
};
...
假设functionName = some
,这应该尝试调用该函数,但它没有这样做。
我尝试使用其他链接,例如 Call javascript function which name is in variable但这没有帮助。
我也尝试过使用 eval():
eval(functionName + '()');
但这返回了一些关于非法字符的信息...
最佳答案
您的 eval
调用可能无法正常工作;使用:
eval(functionName)(); //note () after the eval statement
在您的代码中,首先确保 functionName
是 something
console.log(functionName === 'something')//true
关于Javascript - 根据变量调用函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21286918/