javascript - Javascript:如何动态调用方法并为其动态设置参数
问题描述
我正在尝试在javascript中测试可以动态调用方法并为其动态设置参数。
let obj = {
method: 'foo1',
params: ['one', 'two']
}
foo 1(p1, p2) {
// do something
}
运行它=>
[obj.method](obj.params)
有没有办法从数组中动态添加参数。
解决方案
是 - 传播(ES6):
window[obj.method](...obj.params);
确保您正确访问该函数 - 如果您var
在全局范围内声明它,它将绑定到window
. 如果没有,则根本无法访问( bar eval
,这是不好的做法)。
推荐阅读
- c# - 日期格式的正则表达式
- python - 从 QTableView 单元格 DisplayRole 填充上下文菜单
- ios - Alamofire 根据输入更改多部分/表单数据编码
- javascript - AttributeError: 'list' 对象没有使用 Selenium 和 Python 的属性 'click'
- ios - 带有搜索栏动画故障的大标题
- c# - C# MVVM,等待一些事件触发并继续更新 UI
- javascript - JavaScript 中的 `async/await` 中的 `return timer` 和 `clearInterval(timer)` 有什么区别?
- java - 使用 testrail api 在 java 中创建测试运行
- opengl - OpenGL 的自定义混合方程(着色器)
- python - 我的python项目中的字符串浮动错误我很难过