Home >Web Front-end >JS Tutorial >JavaScript timer SetTimeout regularly refreshes the window and closes the window (the code is super simple)_javascript skills

JavaScript timer SetTimeout regularly refreshes the window and closes the window (the code is super simple)_javascript skills

PHP中文网
PHP中文网Original
2016-05-16 15:13:151738browse

JavaScript timer SetTimeout regularly refreshes the window and closes the window (the code is super simple)_javascript skills

No more nonsense, I will just post the code for you.

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

The following is an introduction to the use of javascript timers

Using timing The window object that implements deferred execution or repeated execution of JavaScript provides two methods to achieve the timer effect, namely

window.setTimeout() and window.setInterval. The former can make a piece of code run after a specified time; while the latter can make a piece of code run once every specified time. Their prototypes are as follows:

window.setTimeout(expression,milliseconds); window.setInterval(expression,milliseconds);

where expression can be a string or a function name. When it is a string, you can take parameters, but the function name cannot take parameters. If you take parameters, the function will be executed directly without delay.

 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);//立刻执行

The first case is a function name, but it cannot take parameters

The second case is a string, Executable js code can take parameters, but the performance is worse than the function name

The third method is to call the function and execute it directly

So if you want to pass parameters, but don’t want to pass characters To call in the form of a string, you can write a method yourself:

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

1. setTimeout

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

means that after 200ms, the timer code is added to the queue and waits for the JavaScript process to be idle before the code is executed

2. setInterval

1. The above code refers to creating a timer that executes the code every 200ms
2. When using setInterval, the timer code is added to the queue only if there are no other instances of that timer (in the queue). To quote the JavaScript Advanced Programming Second Edition book statement (ie: the current timer When the timer code is executed, the first timer code that follows will be added to the queue and waits for execution, and subsequent timer codes will not be added to the queue)

Use setInterval to execute You will encounter a problem when performing repeated behaviors:

When the timer code execution time (if it takes 600ms to execute) exceeds the specified interval (here is 200ms), then some timer code will will be skipped (that is, subsequent timer codes will not be added to the queue). After the previous timer code is executed, the timer code in the queue will be executed immediately, and there will be no interval between code executions between timers. At this time, you need to use chained setTimeout.

The advantage of this is: after the code to be executed by the previous timer is executed and waits for 200ms, a new timer is created and the timer code is added to the queue for execution: The timer code will not be skipped; there can be intervals between code executions between timers (according to your own settings).

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

The above is the content of JavaScript timer SetTimeout's regular refresh window and window closing (the code is super simple)_javascript skills. Please pay attention to more related content. PHP Chinese website (www.php.cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn