Lors de l'utilisation d'une fonction de rappel, vous pouvez rencontrer le besoin de transmettre des paramètres supplémentaires. Cet article aborde ce problème et propose une solution complète.
Votre tentative initiale, comme indiqué dans l'extrait de code, impliquait de transmettre des paramètres directement à la fonction de rappel. Bien que cela fonctionne pour l'exemple fourni, cela peut devenir fastidieux si vous devez transmettre des paramètres multiples ou complexes.
Une solution plus polyvalente consiste à utiliser l'objet arguments . Cette variable spéciale contient tous les arguments transmis à une fonction, y compris ceux définis dans les paramètres de la fonction et tous les arguments supplémentaires transmis lors de l'appel.
Extrait de code révisé :
<code class="javascript">function tryMe(param1, param2) { alert(param1 + " and " + param2); } function callbackTester(callback) { callback(arguments[1], arguments[2]); } callbackTester(tryMe, "hello", "goodbye");</code>
Dans le code révisé, la fonction callbackTester accepte désormais un seul paramètre, callback. Dans cette fonction, nous utilisons l'objet arguments pour accéder aux paramètres supplémentaires passés lors de l'appel, qui sont param1 et param2. Ces paramètres sont ensuite transmis à la fonction de rappel, tryMe, comme prévu.
Cette approche offre plusieurs avantages :
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!