Maison >interface Web >js tutoriel >Comment transmettre des paramètres à une fonction de rappel en JavaScript ?
En JavaScript, une fonction de rappel est une fonction qui est passée en argument à une autre fonction. Lorsque l'autre fonction appelle le rappel, celui-ci peut accéder aux paramètres qui lui sont transmis.
Pour illustrer, créons une fonction appelée tryMe qui prend deux paramètres et alerte leurs valeurs :
function tryMe(param1, param2) { alert(param1 + " and " + param2); }
Maintenant, définissons une fonction appelée callbackTester qui prend une fonction de rappel comme argument et deux paramètres supplémentaires :
function callbackTester(callback, param1, param2) { callback(param1, param2); }
Pour passer des paramètres au rappel, nous invoquons simplement callbackTester avec les paramètres souhaités :
callbackTester(tryMe, "hello", "goodbye");
Cela appellera la fonction tryMe avec les paramètres "hello" et "goodbye" et alertera leurs valeurs.
Utilisation des arguments Variable
If vous avez besoin de plus de flexibilité pour transmettre des paramètres à un rappel, vous pouvez utiliser la variable arguments. Cette variable contient un tableau de tous les arguments passés à une fonction, y compris les paramètres explicites et tous les arguments supplémentaires passés lors de l'appel de la fonction :
function tryMe(param1, param2) { alert(param1 + " and " + param2); } function callbackTester(callback) { callback(arguments[1], arguments[2]); } callbackTester(tryMe, "hello", "goodbye");
Dans cet exemple, nous appelons callbackTester avec un seul argument, qui est la fonction tryMe. Cependant, la variable arguments contient les trois paramètres passés à callbackTester, nous permettant d'extraire les paramètres dont nous avons besoin :
En utilisant la variable arguments, nous pouvons récupérer dynamiquement les paramètres appropriés à transmettre le rappel, quel que soit le nombre ou le type de paramètres transmis à la fonction appelante.
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!