javascript - 是否可以使用“调用”或“应用”一次将参数数组传递给多个函数?
问题描述
例如,假设我有两个函数,a
andb
和 botha
并b
接受两个string
参数,然后将这些字符串记录到控制台:
function a(w, x) {
console.log(w, x);
}
function b(y, z) {
console.log(y, z);
}
是否可以一次调用a
和 b
使用call
或apply
将一组参数传递给两个函数?
例如,这里有一些伪代码:
(a, b).apply(window, ["Wello", "Horld"]);
是否可以在不使用循环或执行以下操作的情况下实现此目的:
var args = ["Wello", "Horld"];
a.apply(window, args);
b.apply(window, args);
另外,是否可以一次调用两个以上的函数?
注意:这些功能可以按任何顺序运行。
谢谢。
解决方案
是否可以使用 call 或 apply 调用 a 和 b 以同时将一组参数传递给两个函数?
...
是否有可能在不使用循环或做某事的情况下实现这一点......
不,你必须按照你所描述的去做,要么将参数放在一个数组中并进行每次调用,要么循环一个函数数组,等等。
例如:
for (const f of [a, b]) {
f.apply(window, ["Wello", "Horld"]);
// Or if you have the arguments as discrete things like that, I'd use call:
//f.call(window, "Wello", "Horld");
}
推荐阅读
- symfony - 在 api 平台中验证嵌入式模型
- r - 匹配时用其他值替换值
- react-table - react-table - 从 useGlobalFilter 中排除列
- r - 估计所有六张脸在六次投掷中恰好出现一次的概率?
- c# - while (reader.Peek() != -1) 条件是什么意思?
- git - 使用 PAT/GitCredManager/notSSH 支持远程 git 归档的 DevOps | 在没有 git clone 的情况下下载 git repo 中的子文件夹
- ios - 我怎么能在 UITextField 中只允许实际的整数,即 00 或 01230 是不可接受的,但 0 和 1230
- wordpress - 如何在 WordPress 中获取父类别名称和 ID
- java - selenium webdriver中没有可用定位器时如何找到WebElement
- vue.js - 如何在 Vue.JS 中添加和删除确切的元素?