Parametry předávaných funkcí v JavaScriptu

Předpokládejme, že máme funkci test, která jako parametr přijímá jinou funkci a do konzole vypisuje výsledek práce této předané funkce:

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

Předpokládejme, že předaná funkce func jako parametr přijímá číslo a něco s ním dělá. Předáme jí například číslo 3:

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

Nyní zavolejme funkci test, a předejme jí jako parametr anonymní funkci. Tato anonymní funkce bude jako parametr přijímat číslo a vracet druhou mocninu tohoto čísla.

Výsledkem celé této konstrukce bude výpis druhé mocniny čísla 3, tedy 9:

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

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

Pojďme kód upravit elegantněji:

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

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

Zkopírujte kód mé funkce test. Zavolejte tuto funkci a předejte jí jako parametr anonymní funkci, která bude jako parametr přijímat číslo a vracet jeho třetí mocninu.

Задание 2

Upravte svůj kód tak, aby předávaná funkce nebyla anonymní, ale byla definována jako Function Declaration s názvem func.

Задание 3

Upravte předávanou funkci na Function Expression se stejným názvem func.

Задание 4

Předpokládejme, že předávaná funkce nyní přijímá dva parametry a vrací jejich součet. Při volání předávané funkce uvnitř test předejte do předávané funkce číslo 2 a číslo 3. Výsledek vypište.