修改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()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容