Maison >interface Web >js tutoriel >Comment éviter l'exécution prématurée de fonctions lors de la transmission de fonctions JavaScript en tant que paramètres ?

Comment éviter l'exécution prématurée de fonctions lors de la transmission de fonctions JavaScript en tant que paramètres ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-06 12:46:11388parcourir

How to Avoid Premature Function Execution When Passing JavaScript Functions as Parameters?

Passer des fonctions JavaScript en tant que paramètres

Passer des fonctions en tant que paramètres vous permet de transmettre des références de fonction au lieu de les exécuter directement. Ceci est utile lorsque vous devez reporter l’exécution à une date ultérieure. Cependant, appeler des fonctions en tant que paramètres au sein de fonctions parent peut entraîner une exécution prématurée.

Pour éviter cela, omettez les parenthèses lorsque vous appelez la fonction en tant que paramètre. Voici comment procéder :

addContact(entityId, refreshContactList);

Dans ce cas, rafraîchirContactList est passé comme référence sans être exécuté immédiatement. Elle ne s'exécutera que lorsque la fonction addContact l'appellera.

Un exemple :

function addContact(id, refreshCallback) {
    refreshCallback(); // Execute the callback
}

function refreshContactList() {
    console.log('Contact list refreshed');
}

addContact(1, refreshContactList); // Pass the function reference without parentheses

Ici, la fonction rafraîchirContactList s'exécutera lorsque addContact l'appellera. Vous pouvez également transmettre des arguments à la fonction de rappel, comme indiqué dans l'exemple.

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