Passando um número como parâmetro em JavaScript
Vamos agora fazer com que o número, com o qual a função
passada faz algo, não fique armazenado de forma fixa
dentro de test, mas vamos passá-lo como primeiro parâmetro:
function test(num, func) { // o primeiro parâmetro é um número
console.log(func(num));
}
Vamos usar nossa função:
function test(num, func) {
console.log(func(num));
}
// Exibirá 4:
test(2, function(num) {
return num * num;
});
A conveniência da nossa estrutura: temos
uma função test que aceita um número
como parâmetro. Mas o que será feito com o número
não está codificado de forma fixa na função test.
Podemos, por exemplo, passar como segundo parâmetro da função
test uma função que eleva ao
quadrado, ou podemos, por exemplo, passar uma que eleva ao cubo:
function test(num, func) {
console.log(func(num));
}
// Vamos encontrar o quadrado do número:
test(2, function(num) {
return num * num; // retorna o quadrado
});
// Vamos encontrar o cubo do número:
test(2, function(num) {
return num * num * num; // retorna o cubo
});
Suponha que a função test aceite como primeiro parâmetro
um número, e como segundo e terceiro parâmetros -
funções que também aceitam números como parâmetro.
Suponha que a função test retorne a soma
dos resultados das funções passadas:
function test(num, func1, func2) {
return func1(num) + func2(num);
}
Chame a função test, passando como primeiro parâmetro
o número 3, como segundo parâmetro
a função que eleva o número ao quadrado, e como terceiro
- a função que eleva o número ao cubo. Exiba
o resultado no console.