Parâmetros de funções passadas em JavaScript
Suponha que temos uma função test que
aceita outra função como parâmetro e exibe
o resultado dessa função passada no console:
function test(func) {
console.log( func() );
}
Suponha que a função passada func
aceite um número como parâmetro e faça algo
com ele. Vamos passar a ela, por exemplo, o número 3:
function test(func) {
console.log( func(3) );
}
Agora vamos chamar a função test,
passando para ela uma função anônima como parâmetro.
Esta função anônima aceitará um número como parâmetro
e retornará o quadrado desse número.
Como resultado disso, nossa construção
exibirá o quadrado do número 3, ou seja, 9:
// Exibirá 9:
test(
function(num) {
return num * num;
}
);
function test(func) {
console.log(func(3));
}
Vamos formatar o código de forma mais elegante:
// Exibirá 9:
test(function(num) {
return num * num;
});
function test(func) {
console.log(func(3));
}
Copie o código da minha função test.
Chame esta função, passando para ela como parâmetro
uma função anônima que aceitará um número como parâmetro
e retornará seu cubo.
Modifique seu código para que a função passada
não seja anônima, mas seja definida
como uma Function Declaration com o nome func.
Modifique a função passada para uma Function
Expression com o mesmo nome func.
Suponha que a função passada agora aceite
dois parâmetros e retorne sua soma. Ao
chamar a função passada dentro de test
passe para a função passada o número 2
e o número 3. Exiba o resultado.