setTimeout定时器setTimeout(fn, 0)的用法
setTimeout(() => { console.log("一秒后执行") }, 1000)
一般我们使用定时器时会给一个时间,让它等待多久进行执行,但是这个时间也可以是0。
如果是setTimeout(fn,0)的写法并不代码里面的函数立即执行,而是立即被放入队列之中排队等待前面的代码执行完毕再进行执行。
因此它是否是立即执行其实不是取决于setTimeout设定的时间,而是看队列中前面是否有其他进程需要等待。
function a() { setTimeout(function(){ alert(1) }, 0); alert(2); } a();
比如这段代码执行的结果是2,1,而不是1,2。