setTimeout は、一定時間後に特定の処理を繰り返し実行することができます。この記事では、setTimeout タイマーの使用方法を説明します。
JavaScript には setInterval と setTimeout という 2 種類のタイミング プロセッサがあることがわかっています。setInterval については、前の記事で説明しました。次の記事では、JavaScript で setTimeout タイマーを使用する方法を説明します。
setTimeout() は、指定されたミリ秒数の後に関数を呼び出したり、式を計算したりするために使用される window に属するメソッドです。
基本的な構文は次のとおりです。
setTimeout(function函数,固定的时间[,参数1,参数2,参数3,.......])
setTimeout
の使用法を詳しく見てみましょう。まずは簡単なコードを見てみましょう
<!DOCTYPE html> <html lang = "ja"> <head> <meta charset = "utf-8"> <title>JavaScript</title> </head> <body> <script> var count = 0; var countup = function(){ console.log(count++); } </script> </body> </html>
count変数を用意し、0を基準にして1つずつ数えて足していく(count)後、console.logを使って出力します。そしてこの一連の処理をcountuppの変数に入れます。
この変数 countup count を 1000 ミリ秒後に呼び出したいとします。setTimeout() を追加する必要があります。
コードは次のとおりです。
<script> var count = 0; var countup = function(){ console.log(count++); } setTimeout(countup, 1000); </script>
setTimeout は次のとおりです。 1 回だけ呼び出され、出力 0 が返され、1000 ミリ秒後に完了します。
#setTimeout() を使用して setInterval() のように反復およびカウントするにはどうすればよいですか?
反復関数、つまり {} に setTimeout を記述し、countup() で呼び出すことができます。
コードは次のとおりです。
<script> var count = 0; var countup = function(){ console.log(count++); setTimeout(countup, 1000); } countup();</script>
これにより、処理が終了した時点から再度同じ処理を1000ミリ秒繰り返します。
操作の効果は次のとおりです。処理動作は setInterval と同様です。
カウントを停止したい場合は、clearTimeout を使用する必要があります。
コードは次のとおりです
var id = setTimeoutl(countup,1000);
clearTimeoutを使用してこのIDを指定することで、いつでもsetTimeoutの処理を停止することができます(当然処理は停止します)
<script> var count = 0; var countup = function(){ console.log(count++); var id = setTimeout(countup, 1000); if(count > 5){ clearTimeout(id); } } countup(); </script>
上記プログラムでは、setTimeoutのカウントを実行してcountupが5より大きくなったとき(if(count>5))にclearTimeoutが実行されます。
したがって、最大 5 までカウントできます。
#最後に、setInterval カウントと setTimeout カウントの使用の違いを簡単に見てみましょう
繰り返し処理に setInterval を使用する処理開始点から一定時間後に同じ処理を繰り返す setTimeoutを繰り返す場合:処理終了点から一定時間後に同じ処理を繰り返す したがって、同じ1000ミリ秒以降の時間を指定しても、次の処理が開始されるまでにかかる時間も変わります。 さらに、プロセスに間隔よりも長い時間がかかる場合、動作に欠陥が生じます。処理と処理の間にある程度のマージンを確保したい場合は、setTimeout を使用できます。以上がJavaScript で setTimeout を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。