在我们谈论修改这个问题之前我们需要先了解一下什么是this指向,不然叽里咕噜说了一堆还是啥都没懂,那不是亏了吗。
this指向
this的指向是在函数调用的时候决定的,调用方式不同决定了指向不同,一般都指向调用者
普通函数一般情况下指向window,因为window是所有普通函数的调用者
在对象方法中的调用 this指向该对象
原型对象里面的方法以及构造函数调用时 this指向实例对象
事件绑定函数时 this指向绑定事件对象
定时器函数和立即执行函数的this都指向window
既然了解了this指向,那接下来关于如何修改this指向的内容就没那么难理解了
修改this指向
修改this指向一共有三种方法,它们分别是call() apply() bind()
call()它可以调用函数也可以改变函数this的指向,一般用于继承
apply()它也可以调用函数,也可以修改this指向,但它传递的参数必须在数组中呈现
bind()它不会主动调用函数,但是可以修改this指向,它返还的是原函数this指向改变之后的新函数