为了账号安全,请及时绑定邮箱和手机立即绑定

自调用函数解决闭包问题


改写了一下循环部分,不用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);
}

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

正在回答

1 回答

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468047    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

自调用函数解决闭包问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信