ホームページ > 記事 > ウェブフロントエンド > js タイムアウト呼び出し setTimeout と断続的呼び出し setInterval インスタンス分析_JavaScript スキル
この記事では、js タイムアウト呼び出し setTimeout と断続的呼び出し setInterval の使用法を分析します。皆さんの参考に共有してください。詳細は以下の通りです。
今日、『JavaScript Advanced Programming (Third Edition)』という本を読みましたが、setTimeout の方が setInterval よりも優れていることがわかりました。それは本当だと思います。私は通常 setInterval をよく使用しますが、今は考えを変える必要があります。また勉強になりました。分析は次のとおりです:
setTimeout には 2 つのパラメーターが含まれており、最初のパラメーターは実行されるコード、2 番目のパラメーターは時間です。
最初のパラメータには文字列または関数を使用できますが、文字列の代わりに関数を使用することをお勧めします。
文字列の使用は eval メソッドと同等です。パフォーマンスの低下につながります。
clearTimeout()
タイムアウトを指定して呼び出されたコードはグローバル スコープで実行されるため、関数内の this の値は厳密モードのウィンドウ オブジェクトを指し、厳密モードでは未定義です
var num = 0;
var max = 10;
var intervalId = null;
関数 incrementNumber(){
番号 ;
if(num == max){
clearInterval(innervalId);
alert('done');
}
}
intervalId = setInterval(incrementNumber(),500);
//setTimeout は同じ関数を実装します
var num = 0;
var max = 10;
関数incrementNumber2(){
番号 ;
if(数値
setTimeout(incrementNumber2,500);
}その他{
alert('done');
}
}
setTimeout(incrementNumber2,500);
上記の比較は、タイムアウト呼び出しを使用する場合、タイムアウト呼び出し ID を追跡する必要がないことを示しています。これは、コードの各実行後、別のタイムアウト呼び出しが設定されていない場合、呼び出しは自動的に停止するためです。
一般に、断続的な呼び出しをシミュレートするためにタイムアウト呼び出しを使用する場合、それが最適なモードであると考えられています。
開発環境では、前の断続的な呼び出しが終了する前に、後の断続的な呼び出しが開始される可能性があるため、真の断続的な呼び出しはまれです。
断続的な通話は使用しないことが最善です。
この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。