1.普通函数调用 普通函数内部的this就指向window
function fn(){
console.log(this)
}
fn()
window.fn()谁调用这个方法,方法的内部this就指向谁,window调用
2.方法调用, this指向的就是调用该方法的对象
var object = {
name:'zs',
fn:function(){
console.log(this)
}
}
object.fn()
3.构造函数调用, this指向的就是构造函数创建的对象
4.作为事件处理函数 this指向的就是触发事件的对象–指向btn
btn.onclick = function(){
console.log(this)
}
5.定时器中this指向的就是window
setInterval(function(){
console.log(this)
},1000)
总结:函数内部的this,不是书写的时候决定的,是由函数调用的时候来确定其指向的