ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript タイマー SetTimeout は定期的にウィンドウを更新し、ウィンドウを閉じます (コードは非常に単純です)

JavaScript タイマー SetTimeout は定期的にウィンドウを更新し、ウィンドウを閉じます (コードは非常に単純です)

高洛峰
高洛峰オリジナル
2017-01-10 09:26:081311ブラウズ

これ以上ナンセンスはやめて、コードを投稿させてください。

// 每隔五秒定时刷新当前窗口
setTimeout("self.location.reload();",5000);
//js 定时关闭窗口(ie和FF中测试过)
//6秒后自动关闭当前窗口
setTimeout("window.opener=null;window.close()",6000);

以下は JavaScript タイマーの使用方法の概要です

タイマーを使用して JavaScript の遅延実行または繰り返し実行を実装する window オブジェクトには、タイマーの効果を実現するための 2 つのメソッドが用意されています。

window.setTimeout () と window.setInterval。前者は指定された時間の後にコードを実行できますが、後者は指定された時間ごとにコードを 1 回実行できます。 そのプロトタイプは次のとおりです。 window.setTimeout(expression,milliseconds); window.setInterval(expression,milliseconds); ここで、expression には文字列または関数名を指定できます。文字列の場合はパラメータを取得できますが、関数名はパラメータを取得できません。パラメータを取得した場合、関数は遅延なく直接実行されます。

function hello (){
console.log('I am dada'); //alert('I am ' + name);
//setTimeout(arguments.callee,2000);
} setTimeout(hello,5000);//5秒后执行 setTimeout('hello()',3000);//3秒后执行
setTimeout(hello(),8000);//立刻执行

最初のケースは関数名ですが、パラメータを取ることはできません

2番目のケースは文字列、実行可能なJSコードでパラメータを取ることができますが、パフォーマンスは関数名よりも劣ります

3番目のケース関数を呼び出して直接実行します

したがって、パラメータを渡したいが文字列の形式で呼び出したくない場合は、自分でメソッドを作成できます:

function _hello(_name){
return function(){
hello2(_name);
}
}
setTimeout(_hello(name),7000);//立刻执行

1. setTimeout

setTimeout(function(){
//要执行的代码
},200);

は 200ms 後のタイミングを意味します。 コードはキューに追加され、コードが実行される前に JavaScript プロセスがアイドル状態になるのを待ちます

2. setInterval

1。コードは 200 ミリ秒ごとに
2. setInterval を使用する場合、JavaScript Advanced Programming Second Edition の本を引用すると、タイマー コードは (キュー内に) 他のインスタンスがない場合にのみキューに追加されます。コードが実行されます。続く最初のタイマー コードはキューに追加され、実行を待機します。その後のタイマー コードはキューに追加されません)

setInterval を使用して繰り返しアクションを実行すると、問題が発生します:

タイマー コードの実行時間 (実行に 600 ミリ秒かかる場合) が指定された間隔 (ここでは 200 ミリ秒) を超えると、一部のタイマー コードがスキップされます (つまり、後続のタイマー コードはキュー (中央) に追加されません)。前のタイマー コードが実行された後、キュー内のタイマー コードがすぐに実行され、各タイマーのコード実行間に間隔はありません。このとき、チェーンされた setTimeout を使用する必要があります。

この利点は、前のタイマーによって実行されるコードが実行されて 200 ミリ秒待機した後、新しいタイマーが作成され、タイマー コードが実行のためにキューに追加されることです。シチュエーションはスキップされます。(独自の設定に従って) タイマー間のコード実行の間に間隔が空く場合があります。

setTimeout(function(){
//要执行的代码
setTimeout(arguments.callee,2000);
},2000);
setInterval(function(){
//要执行的代码
},200);

この記事ではたくさんのことを紹介しますので、お役に立てれば幸いです。また、PHP 中国語 Web サイトをご利用いただきありがとうございます。

その他の JavaScript タイマー SetTimeout の定期更新ウィンドウとウィンドウの終了 (コードは非常に単純です) 関連記事については、PHP 中国語 Web サイトに注目してください。

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