Funkcje to niezwykle istotny element języka JavaScript, pozwalający grupować fragmenty kodu do wielokrotnego wykorzystania. Dzięki nim program staje się czytelniejszy, bardziej uporządkowany i łatwiejszy w utrzymaniu.
Podstawowa definicja funkcji
Najprostszą funkcją jest ta, która nie przyjmuje parametrów i wypisuje tekst na ekran:
function przywitaj() {
document.write("Cześć");
}
przywitaj(); // Wyświetli: Cześć
Funkcja z parametrami wejściowymi
Funkcja może przyjmować parametry, które wpływają na jej działanie:
function przywitajImie(imie) {
document.write("Cześć, " + imie + "!");
}
przywitajImie("Gargamel"); // Cześć, Gargamel!
Funkcje wywoływane przez zdarzenia
Funkcje mogą być wywoływane w odpowiedzi na zdarzenia użytkownika, np. kliknięcie przycisku:
<button onclick="alarm()">Włącz alarm</button>
<script>
function alarm() {
alert("Alarm włączony!");
}
Funkcje zwracające wartości
Funkcje mogą zwracać wyniki obliczeń lub innych operacji:
function czyParzysta(liczba) {
return liczba % 2 === 0;
}
document.write(czyParzysta(30)); // true
document.write(czyParzysta(21)); // false
Funkcje z instrukcjami warunkowymi
Przykładem może być funkcja zwracająca wartość bezwzględną:
function wartoscBezwzgledna(x) {
if (x < 0) x = -x;
return x;
}
document.write(wartoscBezwzgledna(-5)); // 5
Funkcje rekurencyjne
Funkcje mogą odwoływać się same do siebie – takie podejście nazywamy rekurencją. Przykładowo obliczanie silni:
function silnia(n) {
if (n === 0) {
return 1;
}
return n * silnia(n - 1);
}
document.write(silnia(5)); // 120
Alternatywne metody definiowania funkcji
W JavaScript funkcje można definiować na różne sposoby:
// standardowa definicja
function suma1(a, b) {
return a + b;
}
// przypisanie funkcji anonimowej
var suma2 = function(a, b) {
return a + b;
};
// funkcja strzałkowa (ES6)
var suma3 = (a, b) => a + b;
console.log(typeof suma1); // function
console.log(typeof suma2); // function
console.log(typeof suma3); // function