Maison > interface Web > js tutoriel > Comment éviter d'exécuter immédiatement des fonctions passées en paramètres en JavaScript ?

Comment éviter d'exécuter immédiatement des fonctions passées en paramètres en JavaScript ?

DDD
Libérer: 2024-12-01 12:59:13
original
699 Les gens l'ont consulté

How to Avoid Immediately Executing Functions Passed as Parameters in JavaScript?

Passer des fonctions en tant que paramètres en JavaScript

Passer des fonctions en tant que paramètres vous permet de créer du code réutilisable et personnalisable. Cependant, l’exécution de la fonction au sein de la fonction parent peut s’avérer indésirable. Voici comment éviter cela.

Problème :

Considérez le code suivant :

addContact(entityId, refreshContactList());
Copier après la connexion

Cette instruction appelle immédiatement rafraîchirContactList(), même si il est destiné à être exécuté plus tard.

Solution :

Pour passer la fonction sans l'exécuter, supprimez simplement les parenthèses :

addContact(entityId, refreshContactList);
Copier après la connexion

Exemple :

function addContact(id, refreshCallback) {
    refreshCallback();
    // You can also pass arguments if you need to
    // refreshCallback(id);
}

function refreshContactList() {
    alert('Hello World');
}

addContact(1, refreshContactList);
Copier après la connexion

Dans ce scénario,freshContactList() est passé en paramètre et sera être exécuté dans la fonction addContact().

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!

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