this指向问题

this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定,this最终指向调用它的对象.
一个函数不是一个对象的属性时,那么它就是被当做函数来调用的。在这种模式下,this被绑定为全局对象,在浏览器环境下就是window对象.
this指向问题
this指向问题
这里的this指向的对象是o,因为调用这个sayName()函数是通过o.sayName()执行的。

this指向问题
因为是o.b调用的这个函数,所以指向b这个对象
this指向问题
同理,因为是o.b调用的这个函数,所以指向b这个对象
this指向问题
t是全局变量,在全局环境下执行,this指向window 在全局作用域下定义变量,则可以作为全局变量来使用

this指向问题
在执行 a1.sayName() 时,,this代表 a1 这个对象
在执行 a2.sayName() 时,时方法调用,但是sayName,并没有执行,而是将sayName()这个函数赋值给fun这个变量,fun是函数调用模式,this指向window,输出全局的name