関数をイベントリスナーに追加するときの違いと、その影響を理解しようとしています。
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 回発火しますが、2 番目のボタンは 1 回だけ発火します。
通常の状況でイベント リスナーに関数を追加する場合、なぜ、また何を使用する必要がありますか?