Odovzdanie čísla ako parametra v JavaScripte
Teraz číslo, s ktorým niečo robí
odovzdávaná funkcia, nebudeme pevne ukladať
vo vnútri test, ale odovzdáme ako prvý parameter:
function test(num, func) { // prvým parametrom prichádza číslo
console.log(func(num));
}
Využime našu funkciu:
function test(num, func) {
console.log(func(num));
}
// Vypíše 4:
test(2, function(num) {
return num * num;
});
Výhoda našej konštrukcie: máme
jednu funkciu test, ktorá ako parameter prijíma
číslo. Ale to, čo sa s číslom stane,
nie je pevne zakódované vo funkcii test.
Môžeme napríklad ako druhý parameter funkcie
test odovzdať funkciu, ktorá umocní
na druhú, alebo napríklad funkciu, ktorá umocní na tretiu:
function test(num, func) {
console.log(func(num));
}
// Nájdeme druhú mocninu čísla:
test(2, function(num) {
return num * num; // vráti druhú mocninu
});
// Nájdeme tretiu mocninu čísla:
test(2, function(num) {
return num * num * num; // vráti tretiu mocninu
});
Nech funkcia test ako prvý parameter
prijíma číslo a ako druhý a tretí parameter
funkcie, ktoré tiež ako parameter prijímajú čísla.
Nech funkcia test vráti súčet
výsledkov odovzdaných funkcií:
function test(num, func1, func2) {
return func1(num) + func2(num);
}
Zavolajte funkciu test, ako prvý parameter
odovzdajte číslo 3, ako druhý parameter
funkciu, ktorá umocní číslo na druhú, a ako tretí
- funkciu, ktorá umocní číslo na tretiu. Vypíšte
výsledok práce do konzoly.