我写了一段代码,涉及if..elsea 中的语句,我的目标是在每次迭代 1 秒后for-loop执行该部分的内容。else例如,我正在打印 10 到 1。首先,10 将在 1s 9 之后打印,然后再打印 1s 8 将被打印,依此类推,直到它为 0。所以我的方法是
这pgn很重要。
(function () {
var i, pgn = 0;
for (i = 1; pgn < 10; i++) {
if (i === 1) {
console.log(10);
pgn++;
}
else {
(function countdown() {
var count1 = 9;
var myTimer = setInterval(function () {
console.log(count1);
count1 -= 1;
if (count1 <= 0) {
clearInterval(myTimer);
}
}, 1000);
})()
pgn += 1;
}
}
})()
它给了我这样的结果,
10
9
9
9
9
and then after several 9s, 8 8 8.. and so on until 0.
然后出于好奇,我替换pgn += 1;为pgn+=10并且代码完全按照我想要的方式工作。它打印 10,然后在第二个 9 之后打印,依此类推。有人可以解释一下这是怎么发生的吗?
Cats萌萌
相关分类