Maison >interface Web >js tutoriel >Appels de fonctions JavaScript et références : quand utiliser lesquels ?
Comprendre les appels de fonction et les références
En JavaScript, une fonction peut être invoquée directement ou affectée à une propriété qui nécessite une référence de fonction. Comprendre la distinction entre un appel de fonction et une référence de fonction est crucial.
Appel de fonction
Un appel de fonction implique d'appeler directement la fonction et d'exécuter son code à l'aide de parenthèses. Par exemple, dans ce code :
function hello() { alert("hi!"); } hello(); // Function call
L'appel de hello() exécute immédiatement la fonction et affiche un message d'alerte.
Référence de la fonction
D'un autre côté, une référence de fonction attribue une variable ou une propriété à la fonction sans l'appeler. Ceci est principalement utilisé lorsqu'une propriété attend une référence de fonction pour une exécution ultérieure, comme un gestionnaire d'événements de clic.
Considérez cet exemple :
var elem = document.getElementById("btn"); elem.onclick = hello; // Function reference
Dans ce code, la propriété elem.onclick reçoit une référence à la fonction hello(). Lorsque vous cliquez sur le bouton avec l'ID "btn", le code attribué à la propriété onclick sera exécuté, qui dans ce cas est la fonction hello().
Quand utiliser une référence ou un appel
Le choix entre une référence de fonction ou un appel dépend du but recherché. Si la fonction doit être exécutée immédiatement et que sa valeur de retour est importante, un appel de fonction est approprié. Si la fonction est affectée à une propriété à exécuter ultérieurement lorsqu'un événement se produit, une référence de fonction est nécessaire.
Éviter les idées fausses courantes
Évitez d'exécuter immédiatement une fonction lorsque en l'attribuant à une référence. Par exemple, ce code est incorrect :
element.onclick = funcRef();
Utilisez plutôt une référence à la fonction sans parenthèses, comme dans :
element.onclick = funcRef;
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!