问答详情
源自:10-1 编程挑战

自调用函数解决闭包问题


改写了一下循环部分,不用oLis[i].index=i,而是调用自执行函数并传入立即参数,即可解决闭包问题。 

for(var i=0;i<lists.length;i++){
 (function(index){
        lists[index].onclick=function(){
            for(var n=0;n<lists.length;n++){
                lists[n].className="";
                div[n].className="hide";
            }
            lists[index].className="on";
            div[index].className="";
        }
    })(i);
}

写出来共勉。大家有别的方法也可以写出来大家一起学习。

提问者:JanusL_ 2020-03-18 16:34

个回答