情况1:如果一个函数中有this,但是它没有被上一级的对象所调用,那么this指向的就是window。
function a()
{
console.log(this)
}
a()//window
情况2:如果一个函数中有this,这个函数有被上一级的对象所调用,那么this指向的就是上一级的对象。
var obj={
a:12,
fn:function(){console.log(this)}
}
obj.fn()//obj
情况3:如果一个函数中有this,这个函数中包含多个对象,尽管这个函数是被最外层的对象所调用,this指向的也只是它上一级的对象。
var obj={
a:{
fn:function(){console.log(this)}
}
}
obj.a.fn()//a