var i = 0, timer, j = 0;while(i++ < 5) {
timer = window.setTimeout(function(){
j++;
alert(j);
}, 1000);
}
clearTimeout(timer);输出的是1,2,3,45怎么没输出?还有为什么是这样输出的?他不是每次都赋值覆盖了吗?怎么还会执行?顺序是什么?clearTimeout这语句是在什么时候执行的如果稍微改下var i = 0, timer, j = 0;while(i++ < 5) { timer = window.setTimeout(function(){ j++; alert(j); }, i*1000);}clearTimeout(timer);这样就是每隔一秒输出嘛,如果上面的问题解决了,那么没毛病再继续改 var i = 0, timer, j = 0; while(i++ < 5) { timer = window.setTimeout(function(){ j++; alert(j); }, j*1000); }clearTimeout(timer);这个时候,他是同时输出的,为什么跟上面用i的不一样?
添加回答
举报
0/150
提交
取消