我想循环一个定时器 从0到9,但是再次调用的时候9却和0同时出现我想知道怎么解决
function move(){
for (var i = 0; i < 10; i++) {
setTimeout(function(i){
console.log(i);
if (i == 9) {
i = 0;
move()
}
},i*1000,i)
}
};
move();
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你的i==9时,i=0归0了- -后面的时间i*1000直接变成0了 所以9和0一起出来了
上面的修改方法我就不说了- -还可以换个写法:
如果是
for内使用setTimeout太浪费内存了。我秀一个闭包的写法: