的JavaScript,Java脚本错误控制台

的JavaScript,Java脚本错误控制台

问题描述:

运行下面的代码的JavaScript,Java脚本错误控制台

setTimeout(function(){ 
    console.log(1); 
}, 2); 
console.log(2); 
setTimeout(function(){ 
    console.log(3); 
}, 1); 

为什么只有3时,4个值? console

+2

当代码不会产生4个值。 [这是证明它没有。](https://jsfiddle.net/ypmoy23L/)其他的东西正在打印'20'。为了将来的参考,请不要将控制台输出或任何其他文本作为图像。复制文本并将其包含在您的问题中。首先,它使它更易于搜索。 –

+0

你可以告诉别人正在输出20旁边的小箭头。 – dav

+2

你的控制台日志显示了一个叫做“返回值”的东西。超时的返回值是该超时的ID。 – evolutionxbox

在控制台中得到返回值setTimeout

返回timeoutID是数字的,非零值,它鉴别由所述呼叫创建setTimeout();定时器这个值可以被传递给clearTimeout()取消超时。

它可能有助于要知道,setTimeout()setInterval()份额ID的同一池中,并且clearTimeout()clearInterval()技术上可以互换使用。为了清楚,但是,你应该尽量始终与他们避免混淆维护你的代码

console.log(setTimeout(function(){ 
 
    console.log('#' + 1); 
 
}, 2)); 
 
console.log('#' + 2); 
 
console.log(setTimeout(function(){ 
 
    console.log('#' + 3); 
 
}, 1));