js闭包(for循环内给元素添加事件)

            var more = document.getElementsByClassName("more");
            for (var i = 0; i < more.length; i++) { //for循环是立即执行,for循环内的事件不立即执行
                more[i].onclick = function (n) { //n为形参
                    return function () {
                        alert(n); //把与n相关的操作必须写在return function(){}之内才能正常执行
                    }
                }(i)//i为实参(把i传进去,使事件内部立即执行)
            }

  

posted @ 2017-02-16 14:35  Arlar  阅读(1808)  评论(0编辑  收藏  举报