* setIntervalをsetTimeoutで書き直す [#s129e1ca]

*** setInterval() [#g4cb4515]
 var i = 1;
 setInterval(function() {
   console.log(i);
   i++;
 }, 1000);

*** setTimeoout() [#s64b11f2]
 var i = 1;
 function f1() {
   console.log(i);
   i++;
   setTimeout(f1,1000);
 };
 f1();

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

このような問題を避けるためには、後者のコードのようにsetTimeout()を使う。


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