Parametry przekazywanych funkcji w JavaScript

Załóżmy, że mamy funkcję test, która parametrem przyjmuje inną funkcję i w konsolę wypisuje wynik pracy tej przekazanej funkcji:

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

Załóżmy, że przekazana funkcja func parametrem przyjmuje liczbę i coś z nią robi. Przekażmy jej, na przykład, liczbę 3:

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

Zadzwońmy teraz funkcją test, przekazując w nią parametrem funkcję anonimową. Ta funkcja anonimowa parametrem będzie przyjmować liczbę i zwracać kwadrat tej liczby.

W wyniku tego wszystkiego nasza konstrukcja wypisze kwadrat liczby 3, czyli 9:

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

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

Sformatujmy kod bardziej elegancko:

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

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

Skopiuj kod mojej funkcji test. Wywołaj tę funkcję, przekazując jej parametrem funkcję anonimową, która parametrem będzie przyjmować liczbę i zwracać jej sześcian.

Задание 2

Przerób swój kod tak, aby przekazywana funkcja nie była anonimowa, a była zdefiniowana jako Function Declaration z nazwą func.

Задание 3

Przerób przekazywaną funkcję na Function Expression z tą samą nazwą func.

Задание 4

Załóżmy, że przekazywana funkcja teraz przyjmuje dwa parametry i zwraca ich sumę. Przy wywołaniu przekazywanej funkcji wewnątrz test przekaż w przekazywaną funkcję liczbę 2 i liczbę 3. Wypisz wynik.