爱丽丝走丢了
2015-08-26 18:07
for(var i=0;i<oLis.length;i++){
oLis[i].index=i;
oLis[i].onclick=function(){
alert(i);
for(var j=0;j<oLis.length;j++){
oLis[j].className="";
oDivs[j].className="hide";
}
this.className="on";
oDivs[this.index].className="";
}
}
这部分不明白,for循环是跳过oLis[i].onclick=function()执行完了么,为什么第四行alert(i)弹出是3,i的最大值应该是2啊,如果for循环是执行完了,之后点击选项卡是怎么进入到for循环的onclick事件的?
onclick 是一个事件
而事件是需要出发条件的,当你点击的时候,就触发啦
至于为什么弹出的都是3
按理来说应该是2,那就要降到for的执行顺序
for( ①; ②; ③ ){
④
}
so,来模拟运行下: ①,②,④,③ ,②,④,③ .....
故,①只会执行一次,②④会执行 n 次, ③会执行 n+1 次
JavaScript进阶篇
468192 学习 · 21891 问题
相似问题