我寫了一段代碼,涉及if..elsea 中的語句,我的目標是在每次迭代 1 秒后for-loop執(zhí)行該部分的內(nèi)容。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; }}})()它給了我這樣的結(jié)果,109999and then after several 9s, 8 8 8.. and so on until 0.然后出于好奇,我替換pgn += 1;為pgn+=10并且代碼完全按照我想要的方式工作。它打印 10,然后在第二個 9 之后打印,依此類推。有人可以解釋一下這是怎么發(fā)生的嗎?
setInterval 多次打印
慕的地8271018
2023-05-11 13:55:03