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 :
function test(num, func) { // le premier paramètre est un nombre
console.log(func(num));
}
Utilisons notre fonction :
function 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 :
function 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 :
function 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.