Parametre odovzdávaných funkcií v JavaScripte

Majme funkciu test, ktorá parametrom prijíma inú funkciu a do konzoly vypíše výsledok práce tejto odovzdanej funkcie:

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

Nech odovzdaná funkcia func parametrom prijíma číslo a niečo s ním robí. Odovzdajme jej napríklad číslo 3:

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

Poďme teraz zavolať funkciu test, odovzdaním anonymnej funkcie ako parameter. Táto anonymná funkcia bude parametrom prijímať číslo a vráti druhú mocninu tohto čísla.

Výsledkom toho všetkého bude, že naša konštrukcia vypíše druhú mocninu čísla 3, teda 9:

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

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

Upravme kód elegantnejšie:

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

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

Skopírujte kód mojej funkcie test. Zavolajte túto funkciu, odovzdaním anonymnej funkcie ako parameter, ktorá bude prijímať číslo ako parameter a vráti jeho tretiu mocninu.

Задание 2

Upravte váš kód tak, aby odovzdávaná funkcia nebola anonymná, ale bola definovaná ako Function Declaration s názvom func.

Задание 3

Upravte odovzdávanú funkciu na Function Expression s rovnakým názvom func.

Задание 4

Nech odovzdávaná funkcia teraz prijíma dva parametre a vráti ich súčet. Pri volaní odovzdávanej funkcie vnútri test odovzdajte do odovzdávanej funkcie číslo 2 a číslo 3. Výsledok vypíšte.