javascript object.function通过变量调用

javascript object.function通过变量调用,javascript,jquery,function,variables,call,Javascript,Jquery,Function,Variables,Call,我想从js中的对象调用函数 var elementId = event.target.id; var controller = $('#' + elementId).data('controller') + 'Controller'; var action = $('#' + elementId).data('action'); 这是我的数据 正确的选择应该是这样的 FilterController.getCurrentFilter('hosts-button'); 但是如何使用变量elem

我想从js中的对象调用函数

var elementId = event.target.id;
var controller = $('#' + elementId).data('controller') + 'Controller';
var action = $('#' + elementId).data('action');
这是我的数据

正确的选择应该是这样的

FilterController.getCurrentFilter('hosts-button');
但是如何使用变量elementId/controller/action构建它呢

我的尝试

controller + '.' + action + '(' + elementId + ')'; 
不工作


非常感谢您的帮助:)

只要括号符号在窗口/全局范围内,它就可以工作

window[controller][action](elementId);

如果它不在window/gloabl范围内,则需要一个包含第一级的对象。[实际上,这是一个更好的解决方案]

eval(controller+'.+action+'('+elementId+')),但不建议这样做。您只是在生成一个字符串。您需要
eval
it来查看任何操作。然而,从安全性(和应用程序设计)的角度来看,这通常是一个非常糟糕的主意???没有必要进行评估@那你建议我怎么做?谢谢你的回答,谢谢你的回答!它在视窗范围内