- 次のコードは6つの6を出力します。
理由: setTimeout() はタイマーを設定し、タイマーが切れた後に関数や指定したコードを実行します。time パラメータが省略された場合、delay はデフォルト値の 0 をとり、できるだけ早く実行されます。ループは非常に迅速に進行するので、ループのためのsetTimeout()実行が全サイクルを完了したときに、この時点でiの値は6であるため、6 "アラーム "を設定するため、印刷枚数6
let i = 0
for(i = 0; i<6; i++){
setTimeout(()=>{
console.log(i)
},0)
}
- 上記のコードで0, 1, 2, 3, 4, 5を表示するには?
for(let i = 0; i<6; i++){
setTimeout(()=>{
console.log(i)
},0)
}
[1,2,3,4,5].forEach(function(i){
console.log(`${i}`)
})