setTimeout的行为在console.log中

时间:2017-05-25 05:45:08

标签: javascript

我正在浏览器控制台上执行以下代码段。

console.log(
setTimeout(function(){
    console.log('a');
},200));

这给了我两个输出。第一个输出是一个随机数(这是我想的),第二个输出是a。虽然我知道第二个输出是正常的,但是在控制台中生成的第一个随机数是多少。 enter image description here

2 个答案:

答案 0 :(得分:3)

正在记录的另一个数字是setTimeout函数的返回值,它是计时器的id,可用于清除计时器。有关详细信息,请参阅this

答案 1 :(得分:2)

来自MDN:

返回的timeoutID是一个非零的数值,用于标识通过调用setTimeout()创建的计时器;可以将此值传递给clearTimeout()以取消超时。

https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout#Return_value

你看到的是调用setTimeout的返回值,它被传递给console.log和输出。