Comme une fonction est une "valeur", on peut aussi la passer en paramètre à une autre fonction.Ça semble tiré par les cheveux, mais c'est très utilisé en JS ... et on l'a même déjà fait ensemble ! 😲Souvenez-vous:
document.querySelector('h1').addEventListener('click',ma_fonction);function ma_fonction(){ document.querySelector('img').src='https://moodle.iutv.univ-paris13.fr/img/bjs/smile.png';}
Ceci demande au navigateur: "Enregistre la fonction ma_fonction sur le h1, pour qu'elle puisse être appelée, plus tard, quand l'utilisateur clique sur ce h1"
Voyons un autre exemple. Que fait le code suivant ?
function f(){ console.log('Bonjour');}function g(x){ x();}g(f);
Il y a une erreur
Il affiche "Bonjour" dans la console
Rien ne se passe