函数中的this指向,是取决于如何调用

  • 通过new调用,this指向新对象
  • 直接调用,this指向全局对象,浏览器是window,node是global
  • 通过对象调用,this指向前面的对象
  • 通过call、apply、bind,this指向第一个参数。(特殊的,如果bind返回的函数通过new调用,则this指向新创建的对象)

理解箭头函数中的this

箭头函数中的this的指向,取决于箭头函数定义的位置,而不是运行的位置。

这是因为箭头函数中没有定义this,会基于闭包(词法作用域)从外层寻找this。