我试图了解向事件侦听器添加函数时的区别以及它的含义。
var buttons = document.getElementsByTagName('button');
for (i = 0, len = 3; i < len; i++) {
var log = function(e) {
console.log(i);
}
buttons[0].addEventListener("click", log);
}
for (i = 0, len = 3; i < len; i++) {
function log(e) {
console.log(i);
}
buttons[1].addEventListener("click", log);
}
第一个按钮触发console.log
3 次,而第二个按钮仅触发一次。
在正常情况下将函数添加到事件侦听器时,为什么以及应该使用什么?