JavaScript perduodamų funkcijų parametrai

Tarkime, kad turime funkciją test, kuri parametru priima kitą funkciją ir į konsolę išveda šios perduotos funkcijos vykdymo rezultatą:

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

Tarkime, kad perduota funkcija func parametru priima skaičių ir kažką su juo daro. Perduokime jai, pavyzdžiui, skaičių 3:

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

Dabar iškvikime funkciją test, perdavę jai parametru anoniminę funkciją. Ši anoniminė funkcija parametru priims skaičių ir grąžins šio skaičiaus kvadratą.

Dėl to viso mūsų konstrukcija išves skaičiaus 3 kvadratą, tai yra 9:

javascript// Išves 9:
test(
  function(num) {
    return num * num;
  }
);

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

Suformuokime kodą elegantiškiau:

javascript// Išves 9:
test(function(num) {
  return num * num;
});

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

Nukopijuokite mano funkcijos test kodą. Iškvieskite šią funkciją, perdavę jai parametru anoniminę funkciją, kuri parametru bus priimanti skaičių ir grąžinanti jo kubą.

Задание 2

Pakeiskite savo kodą taip, kad perduodama funkcija būtų ne anoniminė, o būtų apibrėžta kaip Function Declaration su pavadinimu func.

Задание 3

Pakeiskite perduodamą funkciją į Function Expression su tuo pačiu pavadinimu func.

Задание 4

Tarkime, kad perduodama funkcija dabar priima du parametrus ir grąžina jų sumą. Kai iškviesite perduodamą funkciją test viduje perduokite į perduodamą funkciją skaičių 2 ir skaičių 3. Išveskite rezultatą.