Passage de nombre en paramètre en JavaScript
Ne stockons plus le nombre, sur lequel la fonction
passée en paramètre opère, de manière fixe
à l'intérieur de test, mais passons-le en premier paramètre :
javascriptfunction test(num, func) { // le premier paramètre est un nombre
console.log(func(num));
}
Utilisons notre fonction :
javascriptfunction test(num, func) {
console.log(func(num));
}
// Affichera 4 :
test(2, function(num) {
return num * num;
});
L'avantage de notre construction : nous avons
une fonction test, acceptant un nombre
en paramètre. Mais ce qui sera fait avec le nombre
n'est pas codé en dur dans la fonction test.
Nous pouvons, par exemple, passer en deuxième paramètre de la fonction
test une fonction qui élève
au carré, ou bien, par exemple, une fonction qui élève au cube :
javascriptfunction test(num, func) {
console.log(func(num));
}
// Trouvons le carré du nombre :
test(2, function(num) {
return num * num; // retourne le carré
});
// Trouvons le cube du nombre :
test(2, function(num) {
return num * num * num; // retourne le cube
});
Supposons que la fonction test accepte en premier paramètre
un nombre, et en deuxième et troisième paramètres
- des fonctions, acceptant également un nombre en paramètre.
Supposons que la fonction test retourne la somme
des résultats des fonctions passées :
javascriptfunction test(num, func1, func2) {
return func1(num) + func2(num);
}
Appelez la fonction test, en passant en premier paramètre
le nombre 3, en deuxième paramètre
une fonction qui élève le nombre au carré, et en troisième
- une fonction qui élève le nombre au cube. Affichez
le résultat dans la console.