2

我将函数绑定foo到对象myObject。我期待在绑定登录到控制台foo之前调用,在绑定后登录到控制台。globalmyObject

var name = 'global';

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

var myObject = {
  name: 'myObject'
};

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

不过,在这两种情况下,输出都是全局消息。

4

1 回答 1

3

foo.bind()返回一个具有绑定的新函数,它不会修改原始函数。

var name = 'global';

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

var myObject = {
  name: 'myObject'
};

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

于 2017-06-23T21:05:18.673 回答