Javascript 不带回调函数的SetTimeout()调用的行为异常

Javascript 不带回调函数的SetTimeout()调用的行为异常,javascript,node.js,settimeout,Javascript,Node.js,Settimeout,我只是在试验settimeout()函数,在一次尝试中,我写下了以下代码: console.log(setTimeout('a', 1000)); 执行此语句时,我在控制台上收到以下输出: 我知道出现错误a未定义,因为setTimeout()需要一个函数作为其第一个参数,但为什么我在控制台上看到数字379380。我相信这是自当前会话中首次执行setTimeout()命令以来经过的秒数。 我说的对吗?有人能更详细地解释一下吗。您看到的数字是设置超时-函数返回的超时ID。 ID可用于通过将超时传

我只是在试验settimeout()函数,在一次尝试中,我写下了以下代码:

console.log(setTimeout('a', 1000));
执行此语句时,我在控制台上收到以下输出:

我知道出现错误a未定义,因为setTimeout()需要一个函数作为其第一个参数,但为什么我在控制台上看到数字379380。我相信这是自当前会话中首次执行setTimeout()命令以来经过的秒数。
我说的对吗?有人能更详细地解释一下吗。

您看到的数字是
设置超时
-函数返回的
超时ID
。 ID可用于通过将超时传递给
clearTimeout
来取消超时


阅读有关
setTimeout
clearTimeout

的更多信息控制台中看到的数字是
setTimeout()
调用返回的
ID
,您可以稍后使用它来清除超时,即取消超时

例如:

const id=setTimeout(console.log,1000,“此操作已取消”);
清除超时(id)//取消先前的超时
setTimeout(console.log,1000,“此操作未取消”)