zoukankan      html  css  js  c++  java
  • 面试题经常问的闭包问题

    <!DOCTYPE html>
    <html>
    <head lang="en">

    </head>
    <body>
    <div id="etDiv">
    <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    </ul>
    </div>
    <script>
    window.onload = function(){
    var li = document.getElementsByTagName('li');

    var _len = li.length;
    //一般不考虑闭包用户会这么写,点击任何一个 li 结果都是5 这个是i最终值
         for(var i=0;i<_len;i++){
    li[i].onclick = function(i){
    alert(i)
    }
    }

        //正确写法是给个作用域保存结果值
    for(var i=0;i<_len;i++){
    li[i].onclick = (function(i){
    return function(){
    alert(i)
    }
    })(i)
    }
    }

    </script>
    </body>
    </html>
    ruby前端观察
  • 相关阅读:
    vmalloc详解
    SSD 页、块、垃圾回收
    ext2文件系统
    slub分配object
    slab分配object
    ACCESS_ONCE的作用
    CFS理论模型
    代码规范
    About Me
    SDOI R2 咕咕记
  • 原文地址:https://www.cnblogs.com/rubyxie/p/6371029.html
Copyright © 2011-2022 走看看