箭头函数和普通函数的this指向

新手上路,请多包涵

在没有applybindcall的情况下

箭头函数的this是不是指向调用者的指向
而普通函数的this指向调用者?

阅读 2.4k
3 个回答

普通函数调用,this指向调用者(无主的this指向window,严格模式下是undefind),函数被当作构造函数使用,里面的this指向生成的对象。

箭头函数没有自己的作用域,也就没有自己的this,它里面的this其实是外层作用域的this。

普通函数下的this:

  • 在普通函数中的this总是代表它的直接调用者,在默认情况下,this指的是window,
  • 在严格模式下,没有直接调用者的函数中的this是 undefined使用

箭头函数中的this:

  •  箭头函数没有自己的this, 它的this是继承而来; 默认指向在定义它时所处的对象(宿主对象),
  •  而不是执行时的对象, 定义它的时候,可能环境是window,也有可能是其他的。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题