Comment transmettre une fonction JavaScript en tant que paramètre (sans exécution)
Lors du passage de fonctions en tant que paramètres, il est crucial d'éviter une exécution immédiate dans la fonction "parent". Cela évite les effets secondaires indésirables et les problèmes de sécurité potentiels avec des pratiques telles que eval().
Solution :
Pour transmettre une fonction en tant que paramètre sans exécution immédiate, supprimez simplement le parenthèses à partir de son nom :
addContact(entityId, refreshContactList);
Cela transmet la référence de la fonction au lieu de l'appeler, vous permettant de l'exécuter plus tard dans le rappel function.
Exemple :
Considérons le scénario suivant :
function addContact(id, refreshCallback) { refreshCallback(); // You can also pass arguments if you need to // refreshCallback(id); } function refreshContactList() { alert('Hello World'); } addContact(1, refreshContactList);
Dans cet exemple, la fonction addContact reçoit deux paramètres :entityId etfreshContactList . La fonction rafraîchirContactList est passée en référence sans exécution immédiate. Au sein de la fonction addContact, la fonction rafraîchirContactList est invoquée, déclenchant l'alerte.
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!