今天在写项目的时候用dom操作页面的css 直接用$(this)去获取事件委托的点击项,结果发现不生效,log一下总是指向window,然后直接用function的方式写就没有问题,突然记得好像es6中的箭头函数this是没有指向的,好久没用,就容易忘,先记录一下,明天查点资料补坑。

普通函数的this指向

箭头函数MDN的定义

箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this,arguments,super或 new.target,这些会作为变量一直向上级词法作用域查找,直至找到为止

实际测试中

1:箭头函数的this默认绑定最外层this,这也就是为什么我的this指向window了
(也有人这样去理解:箭头函数中的this在定义函数的同时去绑定,而不是在一边执行函数的时候按照顺序去绑定,所以说this指向全局的window)
2.不能用call去改变箭头函数的this指向

Last modification:September 2, 2019
If you think my article is useful to you, please feel free to appreciate