this指向以及如何改变this指向

2019-01-02  本文已影响19人  楠楠_c811

当一个对象的函数被调用时,对象将被传递到执行上下文中,作为这个值。简单来说,就是function中的this永远指向调用它的对象。我们也可以在编码中显式的,主动的变更其指向。

this的几种不同的使用场景,也就是函数调用时的this指向:

1.纯函数调用 this指向window
2.事件调用 谁调用这个函数,this就指向谁
3.定时器调用 在定时器中,this指向window
4.构造函数调用 构造函数生成一个新的对象,this指向新建的这个对象
5.apply this指向apply中的第一参数

改变this指向的方法
1.call

有若干个参数。
第一个参数是this指向(写什么是什么);
第二个参数及以后,是写什么是什么。

2.apply

有两个参数。
第一个参数是this指向(写什么是什么);
第二个参数:数组[ ],数组中放的就是实参。

3.bind

返回值为一个修改完this的函数,需要主动调用。
也有若干个参数。
第一个参数是this指向(写什么是什么);
第二个参数以后,指向实参。

上一篇下一篇

猜你喜欢

热点阅读