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)
。
率直に言って、「一方が機能し、他方が機能しない」以外の違いがわかりません。前者も遅延引数を尊重しないのはなぜですか?