bind()用于绑定到对象

时间:2017-06-23 21:01:54

标签: javascript executioncontext

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

var name = 'global';

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

var myObject = {
  name: 'myObject'
};

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

但两个实例中的输出都是全局消息。

1 个答案:

答案 0 :(得分:3)

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



var name = 'global';

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

var myObject = {
  name: 'myObject'
};

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