Javascript | Funkcje · Technik informatyk egzamin zawodowy

Programowanie / JS

Javascript | Funkcje

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