修改this指向的三种方法

在我们谈论修改这个问题之前我们需要先了解一下什么是this指向,不然叽里咕噜说了一堆还是啥都没懂,那不是亏了吗。


this指向

this的指向是在函数调用的时候决定的,调用方式不同决定了指向不同,一般都指向调用者

普通函数一般情况下指向window,因为window是所有普通函数的调用者

在对象方法中的调用 this指向该对象

原型对象里面的方法以及构造函数调用时 this指向实例对象

事件绑定函数时 this指向绑定事件对象

定时器函数和立即执行函数的this都指向window


既然了解了this指向,那接下来关于如何修改this指向的内容就没那么难理解了

修改this指向

修改this指向一共有三种方法,它们分别是call()  apply()  bind()

call()它可以调用函数也可以改变函数this的指向,一般用于继承


call()

apply()它也可以调用函数,也可以修改this指向,但它传递的参数必须在数组中呈现


apply()

bind()它不会主动调用函数,但是可以修改this指向,它返还的是原函数this指向改变之后的新函数


bind()

你可能感兴趣的:(修改this指向的三种方法)