【发布时间】:2017-03-02 17:24:21
【问题描述】:
在Javascript事件的回调函数中,this是被点击的元素:
document.querySelector('#my-element').addEventListener('click', function() {
console.log(this); // <div id="my-element">
});
但是,当我使用 ES6 箭头函数时,this 变成了undefined:
document.querySelector('#my-element').addEventListener('click', () => {
console.log(this); // undefined
});
有人可以解释一下这种行为吗?
【问题讨论】:
-
箭头函数有一个词法
this绑定。这附近还有很多其他questions。
标签: javascript ecmascript-6 this dom-events arrow-functions