闭包解决for循环拿不到i的问题

阅读 64

2021-09-24

方式一:闭包

var elems = document.getElementsByTagName('a');
for (var i = 0; i < elems.length; i++) {
    (function (lockedInIndex) {
        elems[i].addEventListener('click', function (e) {
            e.preventDefault();
            alert('I am link #' + lockedInIndex);
        }, 'false');
    })(i);
}

方式二: let 方式

var elems = document.getElementsByTagName('a');
for (let i = 0; i < elems.length; i++) {
  
        elems[i].addEventListener('click', function (e) {
            e.preventDefault();
            alert('I am link #' +i);
        }, 'false');
   
}

精彩评论(0)

0 0 举报