setTimeout()は、一定時間経過後に処理を一回だけ実行する際に使用します。
経過する時間はミリ秒(1秒=1000)で指定します。
setTimeout()では、処理が一回しか実行されないという点が重要です。
よく比較されるsetInterval()では、
指定した時間が経過したら前の処理が完了したかどうかを確認せずに次の処理を開始してしまうため、
本当に指定した時間ごとに一回ずつ処理が完了されているかどうか判別しづらいところがあります。
setTimeout()では、処理が一回しか実行されないため、
プログラムの作り方次第で一定時間内に確実に一回ずつ完了させられる安心感があります。
setTimeout()
と
setInterval()
は、ともにタイマーを作成する際に使用されるので似たところもありますが、
目的に応じて使い分けるべきものと言えるでしょう。
setTimeout()でセットしたタイマーを解除する際には、clearTimeout()を使用します。
<script> var n = 0; function countSecond() { n++; document.getElementById("sample1").innerHTML = "3秒経ちました。処理の実行回数は"+n+"回です。"; } </script> <div id="sample1"> <button onclick="setTimeout('countSecond()',3000)">3秒経ったらお知らせします</button> </div>