javascript - Function.prototype.bind 与参数对象

标签 javascript node.js

假设我有这个简单的情况:

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/

相关文章:

javascript - 用于 IE8 的占位符代码导致下拉登录字段失去焦点

javascript - 如何对以 res.send(200, object) 结尾的 javascript 函数进行单元测试

javascript - 使用 forEach 迭代 querySelectorAll 的多个元素

javascript - 为什么我得到 ENONET : no such file or directory when the file exists? node.js

node.js - Node Express 应用程序将端口 443 请求重定向到 hostmonster 上的端口 3000

javascript - 运行 npm 全局安装包

javascript - Flot 不支持 "dynamically"创建的图表的系列配置

javascript - 我怎样才能停止 60 秒到 0

javascript - 具有不同配置的相同 Passport js 策略 (SAML)

node.js - 让咕噜命令不起作用