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:

javascriptfunction 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:

javascriptfunction 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:

javascript// Stamperà 9:
test(
  function(num) {
    return num * num;
  }
);

function test(func) {
  console.log(func(3));
}

Rendiamo il codice più elegante:

javascript// Stamperà 9:
test(function(num) {
  return num * num;
});

function test(func) {
  console.log(func(3));
}
Задание 1

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.

Задание 2

Modificate il vostro codice in modo che la funzione passata non sia anonima, ma sia definita come Function Declaration con il nome func.

Задание 3

Modificate la funzione passata in Function Expression con lo stesso nome func.

Задание 4

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.