setimeout在Javascript中的使用
以下程序的输出是什么?为什么setimeout在Javascript中的使用,javascript,settimeout,Javascript,Settimeout,以下程序的输出是什么?为什么 setTimeout(function() { console.log("hi"); }, 0); //Do some calculation for 3-4 secs or more over here console.log("Bye"); 我无法模拟,因为我不确定如何进行3-4秒的计算。另外,如果值为Bye和than Hi,为什么会这样?输出为 1.再见 2.你好 为什么??即使超时为0毫秒,函数也会通过setTimeout提供给调用堆栈,但在
setTimeout(function() {
console.log("hi");
}, 0);
//Do some calculation for 3-4 secs or more over here
console.log("Bye");
我无法模拟,因为我不确定如何进行3-4秒的计算。另外,如果值为Bye和than Hi,为什么会这样?输出为
1.再见
2.你好
为什么??即使超时为0毫秒,函数也会通过setTimeout提供给调用堆栈,但在此之前,调用堆栈的末尾已经有console.log(“Bye”)。这就是为什么它会在早些时候执行。你想用代码实现什么?@meza我在采访中问过它。面试官写了0秒作为延迟。@AeroX很抱歉,我没有在您提供的链接中找到延迟为0毫秒的setTimeout。你能在上面放几盏灯吗。Thanksher是如何模拟4秒的计算:
var start=Date.now();while(Date.now()-start<4000)代码>。