javascript - 为什么对同一个函数的两个绑定(bind)返回不同的值

标签 javascript

将一个函数绑定(bind)到同一个上下文时,每次得到的引用都是不同的。

function foobar() {
    return 1;
}

var foo = foobar.bind(this);
var bar = foobar.bind(this);

console.log(foo === bar); // Nope

  1. 该代码是否每次都复制函数?
  2. 缓存该行为没有任何好处吗?
  3. 是否具体实现?
  4. 或者它是否在 ecmascript 规范的某处指定?

最佳答案

Function.prototype.bind()每次都创建一个新函数。

关于javascript - 为什么对同一个函数的两个绑定(bind)返回不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34276440/

相关文章:

javascript - 根据angularjs中的当前日期传递启用和禁用按钮

javascript - 从公共(public)方法调用私有(private)方法?

javascript - 具有嵌套禁用元素的 CSS

javascript - 如何链式 promise

javascript - 在点击此链接后,在绑定(bind)到 anchor 链接的 onclick 函数内获取 URL/ anchor

javascript - 仅在 li ng-click 上切换 1 个子菜单,不允许打开另一个 li

javascript - 如何为新添加的节点创建一个新的ID?

Javascript自动解析嵌套对象

javascript - 如何使用 Jquery 中的某些条件覆盖外部 CSS?

javascript - 在 redux 形式的字段 onchange 上触发操作创建者