我希望能够根据字符串动态调用函数,例如 "User.find"。如果该函数存在,则脚本将在 User 对象中调用 find() 函数。以下是我的尝试:
但它始终返回:
var User = {};
User.find = function(){
return 1;
}
var input = 'User.find';
var some_data_array = {name: 'John Doe'};
var method = input.toString().split('.');
var nameObj = method[0].substring(0,1).toUpperCase() + method[0].substring(1);
var methodToCall = method[1];
nameObj.call(methodToCall, some_data_array);
但它始终返回:
nameObj.call(methodToCall, some_data_array);
TypeError: Object User has no method 'call'
有什么想法吗?由于这是一个node.js问题,所以我不能使用window,脚本在浏览器中无法执行。
eval
。 - King Kingeval
。 - SLaks