当一个对象的函数被调用时,对象将被传递到执行上下文中,作为这个值。简单来说,就是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指向(写什么是什么);
第二个参数以后,指向实参。