Funkcje – piszemy własne komendy

Preview Mode

You're viewing this material in preview mode. Sign up to track your progress and access all features.

Funkcje – piszemy własne komendy
In Progress

Co to jest funkcja?

Funkcja to wydzielony fragment kodu, który możemy wielokrotnie wywoływać (uruchamiać) według potrzeby. Definiując funkcję nadajemy jej nazwę i określamy, co ma robić, a potem możemy wołać ją w różnych miejscach programu zamiast powtarzać ten sam kod — to tak, jakby stworzyć własne polecenie.

Funkcje pomagają unikać duplikowania kodu i ułatwiają organizację programu w logiczne części. Możemy np. mieć funkcję, która wita użytkownika, inną obliczającą sumę, inną sprawdzającą poprawność hasła itp.

Definiowanie funkcji

W JavaScript najprostszym sposobem zdefiniowania funkcji jest użycie słowa kluczowego function. Przykład definicji i użycia prostej funkcji:

function przywitaj() {
    console.log("Cześć!");
}

// Wywołanie funkcji:
przywitaj();
przywitaj();

Powyżej zdefiniowaliśmy funkcję o nazwie przywitaj, która nie przyjmuje żadnych danych (nawiasy puste) i wypisuje powitanie w konsoli. Zauważ, że samo zdefiniowanie funkcji nie uruchamia jej — dopiero wywołanie jej nazwy z () spowoduje wykonanie kodu wewnątrz funkcji.

Parametry (wejście funkcji)

Funkcje mogą przyjmować parametry, czyli wartości przekazywane do środka, na których funkcja może operować. Parametry definiujemy w nawiasach po nazwie funkcji. Przykład:

function przywitajOsobe(imie) {
    console.log("Cześć, " + imie + "!");
}

przywitajOsobe("Ola");   // wypisze: Cześć, Ola!
przywitajOsobe("Tomek"); // wypisze: Cześć, Tomek!

W powyższym przykładzie funkcja ma jeden parametr imie. Możemy też definiować funkcje z wieloma parametrami, rozdzielając je przecinkami, np. function dodaj(a, b) { ... }.

Zwracanie wartości (return)

Funkcja może zwracać wynik swojej pracy za pomocą słowa kluczowego return. Gdy wewnątrz funkcji napotkamy return coś;, funkcja natychmiast się kończy, a wartość coś zostaje zwrócona na zewnątrz.

function poleProstokata(szerokosc, wysokosc) {
    let pole = szerokosc * wysokosc;
    return pole;
}

let wynik = poleProstokata(5, 3);
console.log("Pole wynosi: " + wynik); // wypisze: Pole wynosi: 15

W powyższym przykładzie wynik obliczeń jest zwracany przez funkcję i przypisywany do zmiennej wynik. Dzięki temu można dalej używać tej wartości w programie. Jeśli funkcja zamiast return użyje tylko console.log, wypisze wynik, ale nie przekaże go z powrotem do programu. Jeśli funkcja nic nie zwraca, domyślnie zwraca undefined.

Podsumowanie

  • Funkcje to mechanizm pozwalający tworzyć własne operacje i organizować kod.
  • Dobrze nazwać funkcję — nazwa powinna mówić, co robi.
  • Przekazuj potrzebne dane jako parametry, jeśli są wymagane.
  • Użyj return, gdy chcesz przekazać wynik na zewnątrz; console.log() tylko wyświetla wartość.
  • Pamiętaj o wywołaniu funkcji — bez wywołania kod wewnątrz nie zostanie wykonany.

Ćwiczenia

  1. Napisz funkcję przywitaj(name), która przyjmie imię jako parametr i wypisze w konsoli wiadomość powitalną skierowaną do tej osoby (np. "Cześć, Aniu!"). Wywołaj tę funkcję kilka razy z różnymi imionami.
  2. Napisz funkcję dodaj(a, b), która przyjmie dwie liczby i zwróci ich sumę. Przetestuj ją, wyświetlając wyniki dla różnych par liczb (np. dodaj(2, 3) powinno zwrócić 5).
  3. Napisz funkcję poleTrojkata(podstawa, wysokosc), która zwróci pole trójkąta o podanej podstawie i wysokości. (Przypomnienie: wzór na pole trójkąta to ½ * podstawa * wysokość). Wywołaj tę funkcję z przykładowymi danymi i wypisz wynik.
  4. (Trudniejsze) Napisz funkcję czyParzysta(n), która zwraca true jeśli liczba n jest parzysta, lub false jeśli jest nieparzysta. Wykorzystaj operator % (modulo) do sprawdzenia reszty z dzielenia przez 2. Przetestuj tę funkcję na kilku liczbach i wyświetl w konsoli, co zwraca.