& # 39;这个# 39;在Javascript箭头函数中未定义
'this' is undefined in Javascript arrow function
在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
被绑定。它将具有它在外围词法作用域中的任何值。在您的例子中,这意味着封闭作用域中的this
是undefined
。
相关文章:
- 现有函数未定义
- jQuery$.post可以在chrome、safari中工作,但不能在FF中工作(声明成功回调函数未定义)
- AngularJS ng repeat显示原型函数未定义
- jQuery onclick 函数:未定义不是一个函数
- 函数未定义
- 为什么在jsfiddle中显示ReferenceError:函数未定义
- 函数未定义,实际定义时为
- 函数未定义的Javascript(Basic)
- ajax函数未定义
- 为什么window.onload函数未定义
- 模块模式:函数未定义
- 包含的javascript源代码通过PHP,onmousemove事件,函数未定义
- 单击链接时出现函数未定义错误
- AngularJS和Angular Snap:SSnap构造函数未定义
- 在Node.js中,从同一文件中的另一个函数引用一个函数会导致'ReferenceError:-函数-未定义
- symfony trick javascript函数未定义
- 不断获取JS函数未定义错误
- AngularJS HTTP 资源 - 响应函数未定义
- 函数未定义,参数格式
- JavaScript 中的函数未定义