Przekazywanie liczby jako parametr w JavaScript
Załóżmy teraz, że liczba, na której działa
przekazywana funkcja, nie będzie sztywno przechowywana
wewnątrz test, ale przekażemy ją jako pierwszy parametr:
function test(num, func) { // pierwszy parametr to liczba
console.log(func(num));
}
Skorzystajmy z naszej funkcji:
function test(num, func) {
console.log(func(num));
}
// Wypisze 4:
test(2, function(num) {
return num * num;
});
Wygoda naszej konstrukcji: mamy
jedną funkcję test, która przyjmuje jako parametr
liczbę. Ale to, co się stanie z liczbą
nie jest sztywno zakodowane w funkcji test.
Możemy na przykład przekazać jako drugi parametr funkcji
test funkcję podnoszącą
do kwadratu, albo na przykład podnoszącą do sześcianu:
function test(num, func) {
console.log(func(num));
}
// Znajdźmy kwadrat liczby:
test(2, function(num) {
return num * num; // zwraca kwadrat
});
// Znajdźmy sześcian liczby:
test(2, function(num) {
return num * num * num; // zwraca sześcian
});
Niech funkcja test przyjmuje jako pierwszy parametr
liczbę, a jako drugi i trzeci parametr
funkcje, które również przyjmują liczby jako parametr.
Niech funkcja test zwraca sumę
wyników przekazanych funkcji:
function test(num, func1, func2) {
return func1(num) + func2(num);
}
Wywołaj funkcję test, przekazując jako pierwszy parametr
liczbę 3, jako drugi parametr
funkcję podnoszącą liczbę do kwadratu, a jako trzeci
funkcję podnoszącą liczbę do sześcianu. Wypisz
wynik działania w konsoli.