假设我有这个简单的情况:
const f = function(){
const fn = f.bind(null, arguments);
}
我正在尝试实现一个“重试”机制——这段代码根据静态分析检查出来,似乎是 Function.prototype.bind
的签名,但我的问题是:
是 arguments
将作为 f
的第一个参数简单地应用还是将它展开,如 f.apply(null, arguments )
?我在网上找不到这样的例子。
最佳答案
.bind
的工作方式类似于 .call
,而不是 .apply
- 第二个参数将被视为第二个参数。所以在你的例子中:
f(1,2,3)
会产生 fn([1,2,3])
关于javascript - Function.prototype.bind 与参数对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47170378/