setTimeoutについてのまとめ[1]

行き詰ったので一度整理のため記載


setTimeout関数は

  1. 関数を指定時間に登録するだけ(待ったりしない)
  2. 登録後は即座に次の処理に移る
  3. 指定時間後にメインコードの処理に関係なく実行される

【EX1】1番目の処理を確実に待って、2番目の処理を実行する
【EX1】1番目の処理をしたら非同期に2番目の処理を実行する[訂正]

function wait(){
    var restart=function(){
        //・・・ここに2番目の処理を書く・・・
    };
    //・・・ここに1番目の処理を書く・・・
    setTimeout(restart, 1000);
}

このとき、restartに引数を与える場合は

setTimeout(function(){restart(arg);}, 1000);

【EX2】setTimeoutで(waitをかけつつ)ループさせる

function loop(){
    //・・・ここにループ中の処理・・・
    cnt++;//制御用のカウンタなど
    setTimeout(arguments.callee, 1000);
}

単にループ機能として使う。

最初だしこの辺にしといたろ。