bind() 用于绑定到对象

bind() for binding to object

我正在将函数 foo 绑定到对象 myObject。我希望在绑定到控制台之前调用 foo 以将 global 登录到控制台,并在绑定之后将 myObject 登录到控制台。

var name = 'global';

function foo() {
  console.log(this.name);
}

var myObject = {
  name: 'myObject'
};

foo();
foo.bind(myObject);
foo();

尽管在这两种情况下输出都是全局消息。

foo.bind() returns 一个新的绑定函数,它不修改原来的函数。

var name = 'global';

function foo() {
  console.log(this.name);
}

var myObject = {
  name: 'myObject'
};

foo();
bar = foo.bind(myObject);
bar();