this指向问题
全局函数中调用this
this指向window
在对象的方法中调用this
this指向的是调用者
事件处理函数中的this
this指向事件源
定时器/计时器中的this
‘this指向window
构造函数中的this
this 指向构造函数创建出来的实例对象。
强制改变this指向的三种方法
-
apply()
函数名.apply(this指向对象,[原函数的参数数组])
【注意:】apply会让原函数立即执行。apply第二个参数是一个数组
-
call()
使用格式:函数名.call(this指向对象,原函数参数列表)
【注意】call会让原函数立即执行,call方法从第二个参数开始,传入的参数是原函数的参数
-
bind()
使用格式:新函数名 = 函数名.bind(this指向对象,原函数参数列表)
【注意】不会让函数立即执行,会返回一个新的函数,这个函数内容与原函数一样,但是里面this指向已经被修改了