javascript object.function通过变量调用
我想从js中的对象调用函数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
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来查看任何操作。然而,从安全性(和应用程序设计)的角度来看,这通常是一个非常糟糕的主意???没有必要进行评估@那你建议我怎么做?谢谢你的回答,谢谢你的回答!它在视窗范围内