setIntervalをsetTimeoutで書き直す

setInterval()

 var i = 1;
 setInterval(function() {
   console.log(i);
   i++;
 }, 1000);

setTimeoout()

 var i = 1;
 function f1() {
   console.log(i);
   i++;
   setTimeout(f1,1000);
 };
 f1();

解説

  • 前者のコードのsetInterval()の実行する関数の中で1000ミリ秒以上かかる処理が発生すると、setInterval()は処理を重複しつつ関数を実行してしまう。
  • このような問題を避けるためには、後者のコードのようにsetTimeout()を使う。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2013-04-13 (土) 13:00:54