我很难理解第一个论点setTimeout
以及延迟论点如何影响它。
我理解的方式setTimeout
是:
setTimeout(foo, don't even think about foo until x miliseconds has passed)
但是如果我们考虑这段代码:
<div id="mine"></div>
<script type="text/javascript">
function go(){
var myDiv = document.getElementById("mine");
myDiv.innerHTML = "Hello World";
}
setTimeout(go(), 2000)
</script>
go
立即运行,无需等待 2 秒。
正如我之前的许多人所指出的,setTimeout(go(), 2000)
在我真正想要的时候要求返回值setTimeout(go, 2000)
。
坦率地说,我不明白除了“一个有效,一个无效”之外的区别。为什么前者也不尊重延迟论点?