《JS的执行时机》

58 阅读1分钟

1. 打出6个6的原因

    setTimeout() 函数的效果是,停一下再执行。在这段时间内,for循环已经完成了,i已经自增到了6,所以打出来的效果是6个6.

2. 怎么打出0,1,2,3,4,5

    `

    for(let i = 0; i < 6; i++){

        setTimeout(() =>{

            console.log(i)

        }, 0)

    }

    `

    因为JS设定在for和let一起用的时候,每一次循环会多创造一个新的i。