我正在尝试理解将函数添加到事件监听器时的区别以及它所具有的影响。
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
三次,而第二个按钮只会触发一次。在正常情况下,为什么要使用什么来添加事件监听器中的函数?
i
和len
。