setTimeout 0秒

我们通常知道常用setTimeout 0秒来解决动画或者一些效果的延迟问题;
众所周知js是单线程,用0秒能把要执行的任务从队列中提出来。
其实我也不太懂 有这个问题
alert(1);setTimeout(alert(2),0);alert(3); // 1 2 3
alert(1);setTimeout("alert(2)",0);alert(3);//1 3 2

setTimeout加引号类似eval()全局作用域, 可我现在都是在window下

原文地址:https://www.cnblogs.com/coding4/p/5520541.html