我将函数foo
绑定到对象myObject
。在将foo
绑定到控制台之前,以及在将global
绑定到控制台之后,我期待调用myObject
。
var name = 'global';
function foo() {
console.log(this.name);
}
var myObject = {
name: 'myObject'
};
foo();
foo.bind(myObject);
foo();
但两个实例中的输出都是全局消息。
答案 0 :(得分:3)
foo.bind()
返回一个具有绑定的新函数,它不会修改原始函数。
var name = 'global';
function foo() {
console.log(this.name);
}
var myObject = {
name: 'myObject'
};
foo();
bar = foo.bind(myObject);
bar();