是否有理由不能“不”定义 Function.prototype.bind 的第一个参数并让它保留被调用的上下文。
我有一个用例,它非常有用,但是它似乎传递 null 或 undefined 作为第一个参数将输出函数绑定到 Window。
另一种说法意味着本机绑定的当前实现似乎不允许您不绑定函数的上下文,而只能将参数前缀绑定到绑定的函数。
前任:
var a = function() {
this.foo = function() { console.log(this) };
this.foo = this.foo.bind(undefined,1);
};
var b = new a();
b.foo(); // Logs Window instead of the instance b;
这是在 Google Chrome 版本 27.0.1453.116 m 中测试的