Conditions d’achèvement
5: Fonctions anonymes
Jusqu'à là, on a utilisé des fonctions pour les événements comme ceci:
document.addEventListener('click', fonction_a_appeler);
function fonction_a_appeler() {
console.log('bonjour!');
...
}En JavaScript il est possible de créer des fonctions sans nom, donc "anonymes":
function() {
console.log('bonjour!');
...
}Mais alors, comment est-t-elle appelée ? A quoi sert-elle ?
On pourrait mettre une référence vers cette fonction dans une variable, puis appeler la variable:
let a=function() {
console.log('bonjour!');
...
}
// appel de la fonction:
a();
... mais c'est plus long que d'utiliser une fonction habituelle.
On pourrait aussi envoyer la fonction anonyme directement en paramètre à une fonction qui en a besoin... par exemple addEventListener:
document.addEventListener('click', function() {
console.log('bonjour!');
...
});Remarquez bien les accolades et la parenthèse fermante.On vient de faire la même chose qu'au début, mais sans avoir à donner un nom à la fonction. Par ailleurs, cette écriture est plus courte. On n'a plus à gérer la fonction à deux endroits séparés.
En pratique, les fonctions anonymes sont très utilisées. Pour addEventListener, on utilisera le plus souvent une fonction anonyme. On n'utilisera des fonctions avec un nom que quand elles sont trop longues ou que la fonction doit être réutilisée à un deuxième endroit.