Javascript setTimeoutの勘違い

setTimeoutを使って、一呼吸置いてから処理を実行させたいとき(例えば3秒後に実行とか)、設定したのに「何で3秒待ってくれないの~?」ということってありませんか?

↓以下のページの内容がまさにそれでした。

こちらのでサイトでは以下を実行した際の例で説明してくれているのですが・・・

document.write("hoge\n");
setTimeout(function(){ document.write("fuga\n") }, 1000);
document.write("piyo\n");

そして…

普通に JavaScript を使いこなしてる人なら、hoge → piyo と表示して、 1 秒後に fuga が表示されるな。って思うはずなんです。
でも、 JavaScript を始めたばっかりの人の中には、 hoge と表示したあと 1 秒後に fuga → piyo と表示するな。って思ってる人が非常に多い。(経験的に)

・・・はい、すみませんでした。まさにご指摘の通り…。
またつまらない時間をかけてしまった…。

備忘録 | , |