Parametri posredovanih funkcij v JavaScript

Recimo, da imamo funkcijo test, ki kot parameter sprejme drugo funkcijo in v konzolo izpiše rezultat delovanja te posredovane funkcije:

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

Naj posredovana funkcija func kot parameter sprejme število in z njim nekaj naredi. Posredujmo ji na primer število 3:

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

Pokličimo zdaj funkcijo test, ki ji kot parameter posredujemo anonimno funkcijo. Ta anonimna funkcija bo kot parameter sprejela število in vrnila kvadrat tega števila.

Kot rezultat vsega tega bo naša konstrukcija izpisala kvadrat števila 3, to je 9:

javascript// Izpiše 9:
test(
  function(num) {
    return num * num;
  }
);

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

Oblikujmo kodo bolj elegantno:

javascript// Izpiše 9:
test(function(num) {
  return num * num;
});

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

Kopirajte kodo moje funkcije test. Pokličite to funkcijo in ji kot parameter posredujte anonimno funkcijo, ki bo kot parameter sprejela število in vrnila njegovo kocko.

Задание 2

Spremenite svojo kodo tako, da posredovana funkcija ni anonimna, ampak je definirana kot Function Declaration z imenom func.

Задание 3

Spremenite posredovano funkcijo v Function Expression z enakim imenom func.

Задание 4

Naj posredovana funkcija zdaj sprejme dva parametra in vrne njun vsoto. Pri klicu posredovane funkcije znotraj test posredujte v posredovano funkcijo število 2 in število 3. Izpišite rezultat.