Maison >interface Web >js tutoriel >Comment passer une fonction JavaScript en paramètre sans l'exécuter ?

Comment passer une fonction JavaScript en paramètre sans l'exécuter ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-13 17:10:20969parcourir

How to Pass a JavaScript Function as a Parameter Without Executing It?

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!

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