Maison >interface Web >js tutoriel >La minuterie Javascript appelle la méthode en passant les paramètres

La minuterie Javascript appelle la méthode en passant les paramètres

yulia
yuliaoriginal
2018-09-08 16:58:061827parcourir

Le minuteur Javascript appelle la méthode de transmission des paramètres. Les amis dans le besoin peuvent s'y référer.

Qu'il s'agisse de window.setTimeout ou window.setInterval, vous ne pouvez pas prendre de paramètres lorsque vous utilisez le nom de la fonction comme handle d'appel. Dans de nombreux cas, vous devez prendre des paramètres, vous devez donc trouver un moyen de le résoudre. .
Par exemple, pour la Fonction hello(_name), qui permet d'afficher un message de bienvenue pour le nom d'utilisateur :

Copiez le code comme suit :

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

À ceci temps, si vous essayez d'utiliser l'instruction suivante pour retarder la fonction hello de 3 secondes, l'exécution n'est pas réalisable :
window.setTimeout(hello(userName),3000);
Cela rendra la fonction hello exécutée immédiatement et transmettez la valeur de retour comme handle d'appel à la fonction setTimeout. Le résultat n'est pas un programme Obligatoire Le résultat souhaité peut être obtenu en utilisant la forme de chaîne :
window.setTimeout("hello(userName)",3000);
La chaîne ici est un morceau de code JavaScript, dans lequel userName représente des variables. Mais cette façon d'écrire n'est pas assez intuitive, et dans certains cas, il faut utiliser des noms de fonction. Voici une petite astuce pour appeler une fonction avec des paramètres. :

Copiez le code comme suit :

<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>

Une fonction _hello est définie ici, qui permet de recevoir un paramètre et de renvoyer une fonction sans paramètres. Les paramètres de la fonction externe sont. utilisé à l'intérieur de cette fonction, afin qu'elle soit appelée sans utiliser de paramètres. Dans la fonction window.setTimeout, utilisez _hello(userName) pour renvoyer un handle de fonction sans paramètres, réalisant ainsi la fonction de passage de paramètres

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn