javascript object.function 通过变量调用

标签 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');

但是我如何使用我的变量 elementId/controller/action 构建它?

我的尝试

controller + '.' + action + '(' + elementId + ')'; 

不工作

非常感谢您的帮助:)

最佳答案

只要在窗口/全局范围内,括号表示法就有效。

window[controller][action](elementId);

如果它不在 window/glob 范围内,您将需要一个保存第一层的对象。 [实际上这是一个更好的解决方案]

关于javascript object.function 通过变量调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25847980/

相关文章:

javascript - 重新发明轮子 - 所见即所得的编辑器

jquery - 在网站中动态点击 Youtube 订阅按钮

python - 非常基本的带参数的函数

javascript - ES6 — 如何从具有字符串键的对象中解构?

javascript - Jasmine 测试 removeEventListener

javascript - 路由时 Angular JS 路由参数约束

c++ - 一个函数检测参数类型,值,以及另一个函数的名称和返回值?

javascript - 改变元素高度的CSS动画

javascript - 与客户端一起路由 GET 请求

c++ - 具有两个函数头的菜单驱动程序中的 undefined reference