Home >Web Front-end >JS Tutorial >Javascript timer calls method passing parameters

Javascript timer calls method passing parameters

yulia
yuliaOriginal
2018-09-08 16:58:061827browse

Javascript timer calls the method of passing parameters. Friends in need can refer to it.

Whether it is window.setTimeout or window.setInterval, you cannot take parameters when using the function name as the calling handle. In many cases, you must take parameters, so you need to find a way to solve it.
For example, for Function hello(_name), which is used to display a welcome message for the user name:

Copy the code as follows:

var userName="Tony"; 
//根据用户名显示欢迎信息 
function hello(_name){ 
alert("hello,"+_name); 
}

At this time, if you try to use the following statement to delay the execution of the hello function for 3 seconds It is not feasible:
window.setTimeout(hello(userName),3000);
This will make the hello function execute immediately and pass the return value as the call handle to the setTimeout function. The result is not what the program needs. .The desired result can be achieved by using the string form:
window.setTimeout("hello(userName)",3000);
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 call a function with parameters:

Copy the code The code is as follows:

<script language="JavaScript" type="text/javascript"> 
<!-- 
var userName="jack"; 
//根据用户名显示欢迎信息 
function hello(_name){ 
alert("hello,"+_name); 
} 
//创建一个函数,用于返回一个无参数函数 
function _hello(_name){ 
return function(){ 
hello(_name); 
} 
} 
window.setTimeout(_hello(userName),3000); 
//此处也可以写为window.setTimeout( function(){return hello(userName)}, 3000); 
//就不用再定义function _hello() 
//--> 
</script>

Here is a definition Function _hello is used to receive a parameter and return a function without parameters. The parameters of the external function are used inside this function, so that it is called without using parameters. In the window.setTimeout function, use _hello (userName) to return a function handle without parameters, thereby realizing the function of parameter passing.

The above is the detailed content of Javascript timer calls method passing parameters. For more information, please follow other related articles on the PHP Chinese website!

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