Parametri prosleđenih funkcija u JavaScript-u

Pretpostavimo da imamo funkciju test koja kao parametar prima drugu funkciju i u konzolu ispisuje rezultat rada te prosleđene funkcije:

javascriptfunction test(func) {
  console.log( func() );
}

Neka prosleđena funkcija func kao parametar prima broj i nešto radi sa njim. Prosledimo joj, na primer, broj 3:

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

Hajde sada da pozovemo funkciju test, prosledivši joj kao parametar anonimnu funkciju. Ova anonimna funkcija će kao parametar primati broj i vraćati kvadrat tog broja.

Kao rezultat svega ovoga, naša konstrukcija će ispisati kvadrat broja 3, odnosno 9:

javascript// Ispisaće 9:
test(
  function(num) {
    return num * num;
  }
);

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

Hajde da uredimo kod elegantnije:

javascript// Ispisaće 9:
test(function(num) {
  return num * num;
});

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

Kopirajte kod moje funkcije test. Pozovite tu funkciju, prosledivši joj kao parametar anonimnu funkciju, koja će kao parametar primatati broj i vraćati njegov kub.

Задание 2

Preinačite vaš kod tako da prosleđena funkcija ne bude anonimna, već da bude definisana kao Function Declaration sa imenom func.

Задание 3

Preinačite prosleđenu funkciju u Function Expression sa istim imenom func.

Задание 4

Neka prosleđena funkcija sada prima dva parametra i vraća njihov zbir. Prilikom poziva prosleđene funkcije unutar test prosledite u prosleđenu funkciju broj 2 i broj 3. Ispišite rezultat.