为什么下面的setTimeout直接输出?
以下内容马上打印我的消息
setTimeout(console.log('delayed hello world'), 10000);
这有点违反直觉。 而且由于我的信息直接打印10秒结束时会发生什么?
你需要使用匿名function:
setTimeout(function() { console.log('delayed hello world') }, 10000);
详细了解如何将parameter passing给MDN的 setTimeout
函数
你正在运行console.log(因为你有()
它的末尾),并将其返回值传递给setTimeout
而不是传递一个函数。
var myFunction = function () { console.log('delayed hello world'); } setTimeout(myFunction, 10000);