ホームページ  >  記事  >  ウェブフロントエンド  >  javascript setTimeout と setInterval の違いの詳細な説明timing_javascript スキル

javascript setTimeout と setInterval の違いの詳細な説明timing_javascript スキル

WBOY
WBOYオリジナル
2016-05-16 17:31:541128ブラウズ

setTimeout メソッドは、一定時間後に何をするかを指定するタイミング プログラムです。完了したら下に引き下げます。
setIntervalメソッドとは、一定の間隔で繰り返し操作を行うことを意味します。
setTimeout を使用して setInerval の関数を実装する場合は、実行中のプログラムで定期的に自分自身を呼び出す必要があります。カウンタをクリアしたい場合は、使用するメソッドに応じて異なるクリア メソッドを呼び出す必要があります。
例: (1):

コードをコピー コードは次のとおりです:

t=setTimeout('northsnow()',1000);
clearTimeout(t);
(2):
t=setInterval('northsnow()',1000);
clearInteval(t);
setTimeout()

構文
コードをコピーします コードは次のとおりです:

var t=setTimeout("javascript statement", ミリ秒);

最初のパラメータには JavaScript ステートメント文字列が含まれます。これは、「alert('5 秒!')」などのステートメント、または、alertMsg() などの関数の呼び出しである可能性があります。
2 番目のパラメーターは、最初のパラメーターが現在時刻から何ミリ秒になるかを示します。
ヒント: 1000 ミリ秒は 1 秒に相当します。 例

以下の例のボタンをクリックすると、5 秒後にプロンプ​​ト ボックスが表示されます。

コードをコピー コードは次のとおりです。

< head>









setInterval()
setInterval()メソッドは次のようになります。 関数を呼び出すか、式を評価するために指定された期間 (ミリ秒単位)。
setInterval() メソッドは、clearInterval() が呼び出されるかウィンドウが閉じるまで関数を呼び出し続けます。 setInterval() によって返される ID 値は、clearInterval() メソッドの引数として使用できます。
構文
setInterval(code,millisec[,"lang"])


コードをコピー コード以下のように:



setInterval の例 - 切断-edge work Room




(c) Endige .net





パラメータ渡しメソッド
window.setTimeoutかwindow.setIntervalか、使用時 呼び出しハンドルとして使用する場合、関数名はパラメータを取ることができませんが、多くの場合パラメータを取る必要があるため、それを解決する方法を見つける必要があります。たとえば、関数 hello(_name) の場合、ユーザー名のウェルカム メッセージを表示するために使用されます:


var userName="jack";
//ユーザー名に従ってウェルカム メッセージを表示します
function hello(_name){
alert("hello ," _name);
}


現時点では、次のステートメントを使用して hello 関数の実行を 3 秒遅らせることは現実的ではありません:
window.setTimeout( hello(userName),3000);
これにより、hello 関数が即座に実行され、戻り値が呼び出しハンドルとして setTimeout 関数に渡され、その結果はプログラムが必要とするものではありません。 望ましい結果は、文字列形式を使用することで実現できます。
ここでの文字列は JavaScript コードの一部であり、userName は変数を表します。 ただし、この書き方は直感的ではなく、場合によっては関数名を使用する必要があります。パラメータを使用して関数の呼び出しを実装するためのちょっとしたコツを次に示します。


コードをコピーコードは次のとおりです:



関数 _hello がここで定義されており、パラメーターを受け取り、パラメーターなしで関数を返すために使用されます。
この関数では、関数の外部パラメーターが使用されます。したがって、これを呼び出すにはパラメータを使用する必要はありません。 window.setTimeout 関数では、_hello(userName) を使用してパラメーターなしで
関数ハンドルを返すことで、パラメーターを渡す関数を実現します。
A. 実行するメソッドにパラメータが必要ない場合

コードをコピーします コードは次のとおりです。 🎜>



B. 実行するメソッドにパラメータが必要な場合


コードをコピーします コードは次のとおりです:



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:Jsのコード文字化け問題の解決策、alert_javascriptスキル次の記事:Jsのコード文字化け問題の解決策、alert_javascriptスキル

関連記事

続きを見る