++ 先输出5然后每一秒输出4,3,2,1 等待时间为什么不增加
``javascript
for (var n = 0; n < 5; n++) {
setTimeout(
function (n) {
console.log("n", 5 - n);
},
1000 * n,
n
);
}
```
++ 先输出5然后每一秒输出4,3,2,1 等待时间为什么不增加
``javascript
for (var n = 0; n < 5; n++) {
setTimeout(
function (n) {
console.log("n", 5 - n);
},
1000 * n,
n
);
}
```
收起
for 循环本身是所在线程运行的,setTimeout 是从新开一个线程,如果你在 for 循环里,开了多个 setTimeout,会几乎同时触发
for(var i=0;i<5;i++){setTimeout(function(){console.log(new Date())},0)}
如果想用定时器触发,那就用 setInterval 方便一些,setTimeout 的话,还要嵌套一个
function 倒计时(i){console.log(i,new Date());if (i>0){setTimeout(function(){倒计时(i-1)},1000)}};倒计时(10);
楼主如果是想1秒除数5,隔两秒输出4,再隔三秒输出3,需要按照我的第二种方式来写
报告相同问题?