this指向
- this指向取决于最后函数调用的对象
- 对象一般有window 事件对象 构造函数对象 字面量对象
- window一般是普通函数直接调用或者是var 变量者本身为函数
// 1.普通函数调用 this指向window
function an(){
console.log(this)
}
an()
// 2.方法调用 this指向调用方法的对象
var abj={
name:'zs',
an:an,
an1:function(){
console.log(this)
}
}
abj.an()
var an1=abj.an1
an1()
//3.构造函数调用 构造函数内部的this指向由该构造函数创建的对象
//4.作为事件的处理函数 触发该事件的对象
btn.onclick=function(){
console.log(this)
}
//5.作为定时器的参数 this指向window
setInterval(function(){
console.log(this)
},1000)
结果
- 变量和普通函数存储在window中
- 普通函数、字面量对象、变量的this