
有一段js代码总是不执行,是为什么?
如图:下面隐藏的代码,如果去掉注释符号,可以正常执行,但是下面那个框的代码总是不执行是什么原因啊?也没有报错啊。sbtns是一组数组对象。...
如图: 下面隐藏的代码,如果去掉注释符号,可以正常执行,但是下面那个框的代码总是不执行是什么原因啊? 也没有报错啊。sbtns是一组数组对象。
展开
3个回答
展开全部
不是不执行,而是你用for循环的话,sbtns[i]里的i一直都是最后一个。如果你想每个都拥有被onclick触发的函数,就别用for循环
追问
不是啊,我只运行上面2句的话,还是可以正常依次弹出:0,1,2的。我如果不用for循环怎么给数组sbtns里面的每一个对象都注册事件呢?
追答
for循环输出当然每个都输出了,但监听的函数执行获取的是闭包保存的也就是最终的i值,并不是每一个。可以用if条件判断替换啊!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |