1

以下立即打印我的消息

setTimeout(console.log('delayed hello world'), 10000);

这有点违反直觉。而且由于我的消息立即打印出来,10 秒后会发生什么?

4

2 回答 2

5

您需要为此使用匿名功能:

setTimeout(function() { console.log('delayed hello world') }, 10000);

在MDN上查看有关将参数传递给setTimeout函数的更多信息

于 2012-05-11T08:56:03.807 回答
4

您正在运行 console.log (因为您()在它的末尾)并将其返回值传递给setTimeout而不是传递函数。

var myFunction = function () { console.log('delayed hello world'); }
setTimeout(myFunction, 10000);
于 2012-05-11T08:57:02.383 回答