setTimeout返回的数字是什么意思

时间:2018-01-19 21:53:45

标签: javascript settimeout

通常,如果要稍后取消超时,则将setTimeout分配给变量。

我在控制台中写了一个简单的setTimeout,令我惊讶的是,控制台返回了一个数字。这个号码是什么意思?

<< setTimeout(function(data){console.log(data)},2000,"data passed as arg");
>> 114

3 个答案:

答案 0 :(得分:5)

它是timer identifier,允许您稍后取消

&#13;
&#13;
const a = setTimeout (console.log, 1000, 'hello A')
const b = setTimeout (console.log, 1000, 'hello B')
clearTimeout (a)
// you won't see 'hello A', because it was canceled
// you will only see 'hello B'
&#13;
&#13;
&#13;

适用于setIntervalclearInterval

&#13;
&#13;
const t = setInterval (console.log, 1000, 'hello world')
setTimeout (clearInterval, 5000, t)
// outputs 'hello world' once per second
// 5 seconds later, the interval timer is canceled
&#13;
&#13;
&#13;

答案 1 :(得分:4)

它是计时器的标识符。您可以将其传递给clearTimeout()以取消操作。

答案 2 :(得分:2)

请参阅docs

  

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