久しぶりに javascript のコードを書いてて、setTimeout を使おうと思ったらすっかり忘れてたので自分用にメモメモです φ(..)。
文法
Webを検索してみると使い方がいろいろヒットするわけですが、結局のところ
setTimeout(function(){ 実行したい処理 }, 待機時間);
という書式だけ覚えておけばOKなんですよね。ちなみに待機時間はミリ秒で指定します。1秒だと 1000 を指定することになるわけです。
実際に使う場合は、
setTimeout(function(){ alert("Timeouted!"); }, 1000);
みたいに使います。
注意点
で、注意しないといけないのは、setTimeout は処理を指定時間止めて待つわけではない。という事です。
イメージ的には、“指定秒後に実行する” というイベントを作って、そこに処理を登録すると考えればいいかと思います。
似たようなパターンとしては、onLoad イベントに処理を登録しておくと、ページのロードが終わったところで登録されている処理が実行される場合が近いかと思います。
ですので、
alert("hoge");
setTimeout(function(){ alert("fuga"); }, 1000);
alert("piyo");
という処理の場合、まず "hoge" のダイアログが表示され、次に "piyo" のダイアログが表示され、最後に "fuga" のダイアログが表示されます。
参照リンク
・JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念 - IT戦記