【发布时间】:2019-04-14 14:43:53
【问题描述】:
例如,假设我有两个函数,a 和 b,a 和 b 都接受两个 string 参数,然后将这些字符串记录到控制台:
function a(w, x) {
console.log(w, x);
}
function b(y, z) {
console.log(y, z);
}
是否可以使用call 或apply 调用a 和 b 以同时将一组参数传递给两个函数?
例如,下面是一些伪代码:
(a, b).apply(window, ["Wello", "Horld"]);
是否可以在不使用循环或执行以下操作的情况下实现这一点:
var args = ["Wello", "Horld"];
a.apply(window, args);
b.apply(window, args);
另外,是否可以同时调用两个以上的函数?
注意:函数可以按任意顺序运行。
谢谢。
【问题讨论】:
-
JavaScript 只有一个执行线程。考虑“同时”运行两个函数是没有意义的。
-
@Pointy 仅当它们不是异步的。
-
@Lux ??没关系。
-
所以您问是否有某种方法可以开始执行 sequence 函数调用?对我来说,“一次”意味着“同时”。
-
@Pointy 2 个异步函数可能正在同时执行。当然没有 2 个 JS 语句可以并行,但是如果一个函数正在等待另一个函数可以运行,最终意味着两者同时处于活动状态。协同多任务的定义。
标签: javascript function call apply