在决定如何将回调传递给addEventListener
时,我应该考虑以下方法?
element.addEventListener('click', function(){
// ...
});
或
function doSomething(){
// ...
}
element.addEventListener('click', doSomething);
或
element.addEventListener('click', function doSomething(){
// ...
});
答案 0 :(得分:1)
第一种方式称为anonymous function。我不会真的说那是你必须要做的事情。或者'应该'要做到这一点,但是你通常会看到它们用于创建非常简单的一次性逻辑,你不想让你的代码膨胀为一个新的块。
如果您需要调试代码,或者您可能希望重用函数中的代码,那么如果您编写命名函数,您的生活显然会更好。
答案 1 :(得分:1)
您的第一个代码段使用匿名函数。 Todd Motto has written an article列出了为什么要避免在回调函数中使用匿名函数的一些原因:
- 更难调试
- 无法重复使用
- 无法轻松测试
- 不描述功能的作用
- 使代码缺乏结构
- 创建更混乱/不清楚的代码
- 文档会受到影响(比如jsDoc)