this是环境对象,通常是:谁调用我,我就指向谁。
-
普通函数的this指向的是window
-
new创建的构造函数,this指向 new创建的实例对象
-
obj.fn() - 也就是对象的方法,指向的是这个对象
//控制台打印几次,分别打印什么
function fn(){
console.log(this)
}
let obj = {
name:'李四',
age:30,
eat:function(){
fn()
},
learn:function(){
console.log(this)
}
}
obj.eat()//window
obj.learn()//obj
let learn = obj.learn
learn()//window