Home  >  Article  >  Web Front-end  >  Detailed explanation of the difference between javascript setTimeout and setInterval timing_javascript skills

Detailed explanation of the difference between javascript setTimeout and setInterval timing_javascript skills

WBOY
WBOYOriginal
2016-05-16 17:31:541128browse

The setTimeout method is a timing program, that is, what to do after a certain time. Pull it down when you're done.
The setInterval method means to repeatedly perform an operation at a certain interval.
If you use setTimeout to implement the function of setInerval, you need to call yourself regularly in the executing program. If you want to clear the counter, you need to call different clearing methods according to the method used:
For example: (1):

Copy code The code is as follows:

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

Syntax
Copy code The code is as follows:

var t=setTimeout("javascript statement", milliseconds);

The first parameter contains JavaScript statement string. This may be a statement such as "alert('5 seconds!')", or a call to a function such as alertMsg()".
The second parameter indicates how many milliseconds from the current time the first parameter will be executed.
Tip: 1000 milliseconds equals one second. Example

When the button in the example below is clicked, a prompt box will pop up after 5 seconds.

Copy code The code is as follows:











setInterval()
setInterval() method can be as follows The specified period (in milliseconds) to call a function or evaluate an expression.
The setInterval() method will keep calling the function until clearInterval() is called or the window is closed. The ID value returned by setInterval() can be used as an argument to the clearInterval() method.
Syntax
setInterval(code,millisec[,"lang"])
Example

Copy code Code As follows:



setInterval example - cutting-edge work Room




(c) Endige .net





Parameter passing method
Whether it is window.setTimeout or window.setInterval, when using The function name cannot take parameters when used as a calling handle, but in many cases it is necessary to take parameters, so we need to find a way to solve it. For example, for the function hello(_name), it is used to display the welcome message for the user name:


var userName="jack";
//Display welcome message according to user name
function hello(_name){
alert("hello," _name);
}


At this time, it is not feasible to use the following statement to delay the execution of the hello function for 3 seconds:
window.setTimeout(hello(userName),3000);
This will cause the hello function to execute immediately and pass the return value as the call handle to the setTimeout function, and the result is not what the program needs. The desired result can be achieved by using the string form:
The string here is a piece of JavaScript code, in which userName represents a variable. But this way of writing is not intuitive enough, and in some cases function names must be used. Here is a little trick to implement calling functions with parameters:


Copy codeThe code is as follows:



A function _hello is defined here, which is used to receive a parameter and return a function without parameters.
In this function, an external The parameters of a function, so calling it does not require the use of parameters. In the window.setTimeout function, use _hello(userName) to return a
function handle without parameters, thus realizing the parameter passing function.
A. When no parameters are required in the method to be executed
Copy the code The code is as follows:



B. When parameters are required in the method to be executed
Copy code The code is as follows:


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