js是单线程、基于事件循环的。setTimeout是异步的,异步事件会加入一个队列,当同步任务完成后才会执行。所以:
console.log(1)
setTimeout(function () {
console.log(2)
}, 0)
console.log(3)
// 1
// 3
// 2
js是单线程、基于事件循环的。setTimeout是异步的,异步事件会加入一个队列,当同步任务完成后才会执行。所以:
console.log(1)
setTimeout(function () {
console.log(2)
}, 0)
console.log(3)
// 1
// 3
// 2