美文网首页
闭包解决for循环拿不到i的问题

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

作者: 拾钱运 | 来源:发表于2019-07-05 12:04 被阅读0次

方式一:闭包

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');
   
}

相关文章

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

    方式一:闭包 方式二: let 方式

  • Swift入门二(对象函数)

    函数 闭包 GCD 尾随闭包 闭包循环引用解决(OC) 闭包循环引用解决(swift推荐) 面向对象 命名空间: ...

  • 关于闭包的一些问题

    lis[i] == undefind; i == 3; 原因:闭包,i取for()循环的最后一个值。 解决方法: ...

  • for循环中的lambda与闭包

    for循环中的lambda与闭包 问题引入 f = [lambda x: x*i for i in range(3...

  • JS第三天

    一、函数高级 1、函数回调 2、闭包 二、循环绑定 1、使用闭包解决局部变量生命周期 2、使用闭包解决变量污染问题...

  • 闭包循环引用([unowned self] 与 [weak se

    使用闭包时,经常需要考虑循环应用的问题,在swift中,解决该问题比较简单,使用闭包捕获列表[unowned se...

  • Swift闭包注意事项

    解决闭包的循环强引用 在定义闭包时同时定义捕获列表作为闭包的一部分,通过这种方式可以解决闭包和类实例之间的循环强引...

  • swift闭包的循环引用

    类似于OC的block,swift闭包中也存在循环引用的问题,通常解决闭包中循环引用的方式有以下三种(1)方式一:...

  • Day2

    1 单方向的引用不会产生循环引用。循环引用:闭包引用了self,self引用了闭包。Swift推荐使用解决循环引用...

  • Python陷阱

    可变的默认参数 for 循环i 的数值+闭包的延迟绑定

网友评论

      本文标题:闭包解决for循环拿不到i的问题

      本文链接:https://www.haomeiwen.com/subject/dcbshctx.html