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:
function 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:
function 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:
// Vypíše 9:
test(
function(num) {
return num * num;
}
);
function test(func) {
console.log(func(3));
}
Upravme kód elegantnejšie:
// Vypíše 9:
test(function(num) {
return num * num;
});
function test(func) {
console.log(func(3));
}
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.
Upravte váš kód tak, aby odovzdávaná
funkcia nebola anonymná, ale bola definovaná
ako Function Declaration s názvom func.
Upravte odovzdávanú funkciu na Function
Expression s rovnakým názvom func.
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.