どちらの方法も、一定時間後に JavaScript コードを実行するために使用できますが、それぞれに独自のアプリケーション シナリオがあります。 実際、setTimeout と setInterval の構文は同じです。これらにはすべて 2 つのパラメーターがあり、1 つは実行されるコード文字列、もう 1 つはコードが実行されるまでのミリ秒単位の時間間隔です。 ただし、これら 2 つの関数には違いがあります。setInterval はコードを 1 回実行した後、一定の時間間隔で自動的にコードを繰り返しますが、setTimeout はコードを 1 回だけ実行します。 setTimeout はオン/オフ アクションにのみ適用できるようですが、関数ループを作成して setTimeout を繰り返し呼び出し、繰り返し操作を実現できます。 ショータイム(); 関数 showTime() { var today = 新しい Date(); alert("時刻は: " + today.toString()); タイムアウトを設定します("showTime()", 5000); } この機能を使用すると、5秒ごとに時間が表示されます。 setInterval を使用する場合、対応するコードは次のようになります。 設定間隔("showTime()", 5000); 関数 showTime() { var today = 新しい Date(); alert("時刻は: " + today.toString()); } これら 2 つのメソッドは非常によく似ており、同様の結果を表示しますが、2 つのメソッドの最大の違いは、setTimeout メソッドが 5 秒ごとに showTime 関数を実行しないことです。setTimeout を呼び出すたびに、5 秒ごとに showTime 関数が実行されます。つまり、showTime 関数のメイン部分の実行に 2 秒かかる場合、関数全体は 7 秒ごとに実行されます。ただし、setInterval は呼び出す関数にバインドされず、単に一定の間隔で関数を繰り返すだけです。 一定の時間間隔で正確にアクションを実行する必要がある場合は、setInterval を使用するのが最適です。連続呼び出しによって相互に干渉したくない場合は、特に各関数呼び出しで大量の計算と長い処理時間が必要な場合、setTimeout を使用するのが最適です。 関数ポインタの使用2 つのタイミング関数の最初のパラメータはコードの文字列です。実際には、このパラメータは関数ポインターにすることもできますが、Mac の IE 5 ではこれがサポートされていません。 setTimeout 関数と setInterval 関数の 2 番目のパラメータとして関数ポインタを使用すると、他の場所で定義された関数を実行できます。 タイムアウトを設定します(showTime、500)。 関数 showTime() { var today = 新しい Date(); alert("時刻は: " + today.toString()); } さらに、匿名関数をインライン関数として宣言することもできます。 setTimeout(function(){var today = new Date(); alert("時刻は: " + today.toString());}, 500); 話し合うタイミング関数が処理されない場合、setInterval はブラウザ ウィンドウが閉じられるか、ユーザーが別のページに移動するまで同じコードを実行し続けます。ただし、setTimeout 関数と setInterval 関数の実行を終了する方法はまだあります。 setInterval 呼び出しが完了すると、タイマー ID が返されます。この ID は、将来タイマーにアクセスするために使用できます。この ID が clearInterval に渡されると、呼び出されたプロセス コードの実行を終了できます。具体的な実装は次のとおりです。 var intervalProcess = setInterval("alert('GOAL!')", 3000); var stopGoalLink = document.getElementById("stopGoalLink"); stopGoalLink を添付して、"クリック"、stopGoal を false に設定します。 関数 stopGoal() { 間隔をクリアします(間隔プロセス); } stopGoalLink がクリックされている限り、いつクリックされたかに関係なく、intervalProcess はキャンセルされ、今後 intervalProcess が繰り返し実行されることはありません。 setTimeout がタイムアウト期間内にキャンセルされた場合、この終了効果は次のように setTimeout でも実現できます。 var timeoutProcess = setTimeout("alert('GOAL!')", 3000); var stopGoalLink = document.getElementById("stopGoalLink"); stopGoalLink を添付して、"クリック"、stopGoal を false に設定します。 関数stopGoal() { タイムアウトをクリアします(タイムアウトプロセス)。 } これで、JavaScript の setTimeout と setTimeinterval の詳細な使用例に関するこの記事は終了です。js setTimeout と setTimeinterval の使用に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL トランザクション、分離レベル、ロックの使用例の分析
>>: Ubuntu 19.10 で ssh サービスを有効にする (詳細なプロセス)
Alibaba ベクターアイコンライブラリにアクセスAlibaba ベクターアイコンライブラリ好き...
目次1. コンポーネントとは何ですか? 2. グローバルコンポーネントを作成する方法1 1. Vue...
この記事はmysql8.0.0 winx64.zip解凍版のインストールチュートリアルを記録していま...
以下の内容では、隣接リストを使用してツリー構造を保存する MYSQL のプロセスとソリューションを紹...
まず問題の説明から始めましょう:同じページで、1 つのタブに float:left が必要で、もう ...
XML価格照会のクエリデータにはリストが含まれているため、コレクションが必要です <結果マップ...
COALESCE は、各パラメータ式 (expression_1、expression_2、...、...
MySQL 5.7.19のインストールを例に挙げると、まずダウンロードしますもちろん、最初に行うこと...
目次1. サーバーの状態を確認します。 2. ルートパスワードを変更します。 3. mysqlser...
データのバックアップと復元パート2は次のとおりです基本的な概念:バックアップ、現在のデータまたはレコ...
取引トランザクションはビジネス ロジックの基本単位です。各トランザクションは一連の SQL ステート...
MySQL 5.7.9 のインストールチュートリアルを録画してみんなと共有しましょう環境の紹介:オペ...
ペーパーレスの世界はまだ到来していませんが、書類や写真をスキャンすることで紙をなくす人が増えています...
序文特に bash 環境では、スクリプトの実行方法によって結果が異なります。スクリプトを実行する方法...
JDBC の 6 つのステップ: 1. ドライバーを登録する2. データベース接続を取得する3. デ...