this

84 阅读1分钟

this指向规律

  • 在函数体中,非显示或隐式地简单调用函数时,在严格模式下,函数内的this会被绑定到undefined上,在非严格模式下则会被绑定到全局对象window/global上。
  • 一般使用new方法调用构造函数时,函数构造内的this会被绑定到指定参数上。
  • 一般通过call/apply/bind方法显示调用函数时,函数内的this会被绑定到指定参数的对象上。
  • 一般通过上下文对象调用函数时,函数体内的this会被绑定到该对象上。
  • 在箭头函数中,this的指向是由外层(函数或全局)作用域来决定的。
  1. 全局this

  2. 上下文对象调用this

  3. bind/call/apply改变this

  4. 构造函数this

  5. 箭头函数this

  6. this优先级 new > 显示绑定(bind/call/apply) > 隐式绑定