Maison > interface Web > js tutoriel > le corps du texte

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

yulia
Libérer: 2018-09-08 16:58:06
original
1774 Les gens l'ont consulté

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); 
}
Copier après la connexion

À 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>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal