JavaScriptis edastatavate funktsioonide parameetrid

Olgu meil funktsioon test, mis võtab parameetrina vastu teise funktsiooni ja konsooli väljastab selle edastatud funktsiooni töö tulemuse:

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

Olgu edastatud funktsioon func parameetrina võtab vastu numbri ja teeb sellega midagi. Edastame talle näiteks numbri 3:

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

Nüüd kutsume funktsiooni test välja, andes sellele parameetrina anonüümse funktsiooni. See anonüümne funktsioon võtab parameetrina vastu numbri ja tagastab selle numbri ruudu.

Selle tulemusena väljub meie konstruktsioon numbri 3 ruut, see tähendab 9:

javascript// Väljund 9:
test(
  function(num) {
    return num * num;
  }
);

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

Vormindame koodi elegantsemalt:

javascript// Väljund 9:
test(function(num) {
  return num * num;
});

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

Kopeerige minu funktsiooni test kood. Kutsuge see funktsioon välja, edastades sellele parameetrina anonüümse funktsiooni, mis parameetrina võtab vastu numbri ja tagastab selle kuubi.

Задание 2

Muutke oma koodi nii, et edastatav funktsioon poleks anonüümne, vaid oleks defineeritud kui Function Declaration nimega func.

Задание 3

Muutke edastatav funktsioon Function Expression'iks sama nimega func.

Задание 4

Olgu edastatav funktsioon nüüd võtab vastu kaks parameetrit ja tagastab nende summa. Kui edastatavat funktsiooni test sees välja kutsuda, edastage edastatavasse funktsiooni number 2 ja number 3. Kuva tulemus.