Parametri delle funzioni passate in JavaScript
Supponiamo di avere una funzione test che
accetta un'altra funzione come parametro e stampa
in console il risultato di questa funzione passata:
function test(func) {
console.log( func() );
}
Supponiamo che la funzione passata func
accetti un numero come parametro e faccia qualcosa
con esso. Passiamole, ad esempio, il numero 3:
function test(func) {
console.log( func(3) );
}
Ora chiamiamo la funzione test,
passandole come parametro una funzione anonima.
Questa funzione anonima accetterà un numero
come parametro e restituirà il quadrato di questo numero.
Come risultato di tutto questo, la nostra costruzione
stamperà il quadrato del numero 3, cioè 9:
// Stamperà 9:
test(
function(num) {
return num * num;
}
);
function test(func) {
console.log(func(3));
}
Rendiamo il codice più elegante:
// Stamperà 9:
test(function(num) {
return num * num;
});
function test(func) {
console.log(func(3));
}
Copiate il codice della mia funzione test.
Chiamate questa funzione, passandole come parametro
una funzione anonima, che accetterà un numero
come parametro e restituirà il suo cubo.
Modificate il vostro codice in modo che la funzione
passata non sia anonima, ma sia definita
come Function Declaration con il nome func.
Modificate la funzione passata in Function
Expression con lo stesso nome func.
Supponiamo che la funzione passata ora accetti
due parametri e restituisca la loro somma. Durante
la chiamata della funzione passata all'interno di test
passate alla funzione passata il numero 2
e il numero 3. Stampate il risultato.