为什么在没有按预期调用`setTimeout()`之后`alert()`?

时间:2014-01-26 04:14:31

标签: javascript

为什么alert()之后的setTimeout()未按预期调用?

function run() {
   setTimeout('', 5000)
   alert('Welcome!')
}

run()

1 个答案:

答案 0 :(得分:3)

setTimeout('', 5000)不会做任何事情。它不会延迟下一行代码,如果这是你要做的事情,并通过为第一个参数指定一个空字符串,你没有给它任何代码在setTimeout()确实触发时运行所以什么也没做。

如果您希望在5秒内触发警报,则执行以下操作:

setTimeout(function() {
    alert("Welcome!");
}, 5000);

如果您希望在加载页面后弹出警报,则需要连接到表示页面已加载的事件,或者只是在<script>标记内放置警报。 1}}标签。

</body>