一、this的指向
(1)在普通函数中,this指向window
(2)在定时器函数中,this指向window
(3)在构造函数中,this指向实例化对象
(4)在对象的方法中,this指向当前对象
(5)在事件函数中,this指向事件源
(6)在原型对象的方法中,如果是原型对象调用,this指向原型对象;
如果是实例化对象调用,this指向实例化对象
(7)在数组里的函数中,this指向当前数组
(8)在箭头函数中,this指向父作用域(定义它的地方)
二、改变this指向的方法
1、call()方法
(1)可以进行函数的调用
(2)可以改变this的指向,如果没有参数,this指向window
(2)可以改变this的指向,如果有一个参数,this指向参数
(3)可以改变this的指向,如果有多个参数,this指向第一个参数,剩下的是参数列表
2、apply()方法
(1)可以进行函数的调用
(2)可以改变this的指向,如果没有参数,this指向window
(3)可以改变this的指向,如果有一个参数,this指向参数
(4)可以改变this的指向,如果有多个参数,第一个参数是window或者null,第二个参数是数组
3、bind()方法
(1)不可以进行函数的调用
(2)可以改变this的指向,如果没有参数,this指向window
(3)可以改变this的指向,如果有一个参数,this指向参数