たぶん、IT戦記な人とかが書いてるんだろうけど、少し書く。 setTimeoutが実行されるのは、functionの評価が終わってから。ということ。 もっというと、setTimeoutが宣言されたスコープ(コンテキスト? 関数?)の評価が終わってから、setTimeoutで登録された関数がスタックで登録される(実行待ち) その後、登録された関数を順次実行していく とりあえず、サンプル たとえば、次のコードに書かれているsetTimeoutが実行されるのは、0ms後ではなく、functionの評価が終わってから Event.observe(window, 'load', function (){ var start = new Date; console.log("start: " + (new Date - start)); setTimeout(function (){ console