谁调用的就指谁
function a(){console.log(this)
}
a()//输出window
window.a()//输出window
var b = {}
b.a = a
b.a()//输出b对象
var c = {}
c.a = function(){
a()//这里其实等于window.a()
}
c.a()//输出window,因为在c.a中还是执行的window.a()
所以看懂了吗,谁调用的方法就只谁
在回调函数内部,可以使用ES6的箭头函数,它会自动绑定外部this。例如:function foo() {
this.bar = 'bar'
setTimeout(() =>{
console.log(this.bar)// bar
}, 1000)
}