質問: settimeoutとsetinterval、どっちが良いのか 最近、あらゆるところで動的なアニメーションを見ます。 例えば情報を表示するのにイーズイン・イーズアウトしたり画像をフェードさせたりといった視覚効果上のアクセント的に使われるものです。 これらはほんの短い間だけsettimeoutかsetintervalで関数を何度も実行して実現させていますが、この両者はどちらの方が優れているのでしょうか? プロのサイト数箇所でソースを覗いてみましたが、なぜかどこもsettimeoutを使っていました。setintervalではいけない理由があるのでしょうか?自分で実験してみたところ、両者に処理速度の差はほとんど見られませんでした(そのごくわずかな違いについて言えばいつもせttimeoutが勝ちますが)。
回答: settimeoutで正解です。 settimeoutはスタックやランタイムを考慮します。 setinterval はそんなことには無関係に杓子定規に指定時間間隔で 処理を機械的にします。 なので、重い処理だと、完了していないのに、時間切れで次の処理 を実行して大変な修羅場になります。