首页 > 解决方案 > Javascript:如何动态调用方法并为其动态设置参数

问题描述

我正在尝试在javascript中测试可以动态调用方法并为其动态设置参数。

let obj = {
  method: 'foo1',
  params: ['one', 'two']
}

foo 1(p1, p2) {
 // do something
}

运行它=>

[obj.method](obj.params)

有没有办法从数组中动态添加参数。

标签: javascriptarraysobjectecmascript-6

解决方案


是 - 传播(ES6):

window[obj.method](...obj.params);

确保您正确访问该函数 - 如果您var在全局范围内声明它,它将绑定到window. 如果没有,则根本无法访问( bar eval,这是不好的做法)。


推荐阅读