★this是指包含它的函数作为方法被调用时所属的对象。
★复杂情况:谁最后调用,this属于谁
- this在构造函数中:
如果构造函数new了一个实例化对象,那么this指向该实例对象
如果没有,那么this指向window
▲ 函数被调用时才发生绑定
————————————————————————————————
箭头函数中的this:箭头函数没有自己的this, 它的this是继承而来,来自于函数作用域链。
(继承于离它最近的函数的this)
- 以函数形式调用时,this永远都是window
- 以方法的形式调用时,this是调用方法的对象
- 以构造函数的形式调用时,this是新创建的那个对象
- 使用call和apply调用时,this是指定的那个对象
- 箭头函数:箭头函数的this看外层是否有函数
如果有,外层函数的this就是内部箭头函数的this
如果没有,就是window - 特殊情况:通常意义上this指针指向为最后调用它的对象。这里需要注意的一点就是如果返回值是一个对象,那么this指向的就是那个返回的对象,如果返回值不是一个对象那么this还是指向函数的实例
网友评论