# This 在不同情况下的指向

# This 所处的场景

使用 this 的场景可大致分为下面几类:

  • 普通函数调用: this 指向全局对象
  • class 调用: this 指向 class 实例
  • bind、call、apply 调用: this 指向传入的对象
  • 作为对象方法: this 指向对象实例
  • 箭头函数

不同的场景 this 的指向会发生变化,但有它们都有一个共同点,那就是 ** this 是在执行时才确定其最终指向,而不是在定义时确定 **。这一点和自由变量的查找有很大不同。

# 箭头函数的 this

  • 箭头函数没有自己的 this ,它的 this定义时继承于上级作用域
  • 箭头函数的 this 不能被 call、apply、bind 等函数改变
  • 箭头函数没有 prototype 。综上它不能用作构造函数用 new 操作符
  • 箭头函数没有 arguments 对象
  • 箭头函数不能用作 generator 函数
更新于

请我喝[茶]~( ̄▽ ̄)~*

Asuhe 微信支付

微信支付

Asuhe 支付宝

支付宝

Asuhe 贝宝

贝宝