this的指向问题

46 阅读1分钟

this指向调用它的对象

一般的函数或者定时器,内部的this指向window

函数作为对象的方法的时候,指向调用它的对象

构造函数的this指向返回的对象

箭头函数中,箭头函数本身是没有this的,它是继承父类的,就看this所在的函数定义在哪个对象里,就指向哪个对象,有嵌套的时候内层没有就往外层找,都没有就指向window

函数在定义的时候this是不确定的,只有调用的时候才可以确定

改变this的指向

函数内部用that = this
call、apply、bind
new实例化一个对象
箭头函数

call、apply、bind的区别

apply和call类似,只是传入的参数不同
apply传入的是包含多个参数的数组, call传入的是参数列表
bind方法会创建一个新的函数,需要手动调用