闭包索引

222 阅读1分钟
<body>
    <ul>
        <li>111</li>
        <li>222</li>
        <li>333</li>
    </ul>
    <script>
        var aLi = document.getElementsByTagName("li")
        for(var i = 0;i<aLi.length;i++){
            (function(i){

                aLi[i].onclick = function(){
                    console.log(i)
                }
            })(i)
        }
        //利用闭包的方式就解决了输出一直是3的问题
        // 更简便的就是用let替换var
    </script>
</body>