关于setTimeOut执行顺序的一些记录
先给一个简单的demo方便理解
function a(){
console.log(1)
}
function b(){
console.log(2)
}
function c(){
console.log(3)
}
a();
setTimeOut(b,0);
c();
执行完后 打印的顺序是 1 ,3 ,2
首先setTimeout,是一个定时器函数,如果会在指定的毫秒数之后执行该语句。而这个函数如果以setTimeout(function, 0)的方式执行后,由于js解释器的特性,会将控制权交出,执行后面的语句。并且将事件安排到上下文的最后去执行。类似做了一个将队首元素转移到队尾去执行。如果c函数也通过setTimeOut调用的话,将与b函数顺序执行。