setTimeout と setInterval の構文は同じです。これらにはすべて 2 つのパラメータがあり、1 つは実行されるコード文字列、もう 1 つはコードが実行されるまでの時間間隔 (ミリ秒) です。
ただし、2 つの関数には違いがあります。setInterval はコードを 1 回実行した後、一定の時間間隔後に自動的にコードを繰り返し実行しますが、setTimeout はそのコードを 1 回だけ実行します。
違い:
window.setTimeout("function",time);//タイムアウト オブジェクトを設定します。1 回だけ実行され、サイクルはありません
window.setInterval("function",time);// timeout オブジェクト タイムアウト オブジェクト、期間 = 'インタラクション時間'
停止タイミング:
window.clearTimeout(object) setTimeout オブジェクトをクリアします
window.clearInterval(Object) setInterval オブジェクトをクリアします
PerRefresh();
function PerRefresh() {
var today = new Date();
alert("時刻は次のとおりです: " today.toString());
setTimeout("showTime()", 5000);
}
この関数 PerRefresh が呼び出されると、時間が 5 秒ごとに表示されます
setInterval("PerRefresh()", 5000);
function PerRefresh() {
var today = new Date();
alert(" 時刻は: " today.toString());
}
そして、setInterval は、それが呼び出す関数によってバインドされません。単に特定の時間に繰り返し実行されるだけです。
setInterval("PerRefresh()", 5000) 関数が呼び出されている限り、PerRefresh 関数は 5 秒ごとに実行されます。
一定の時間間隔ごとにアクションを正確に実行する必要がある場合、特に各関数呼び出しに大量の計算と長い処理が必要なため、相互干渉を起こしたくない場合は、setInterval を使用するのが最適です。時間がある場合は、setTimeout を使用することをお勧めします。
setInterval は、clearInterval が呼び出されてタイマー オブジェクトがクリアされるまで、指定されたコードを実行し続けます。
setTimeout は、指定されたコードを 1 回実行し、clearTimeout を使用してタイマー オブジェクトをクリアします。
setInterval と setTimeout は両方ともタイマー オブジェクト識別子を返します。これは、clearInterval および clearTimeout 呼び出しに使用されます。