5. Funkce - souhrada/Lyceum-20 GitHub Wiki
Funkce
Funkce je blok kódu, který můžeme pojmenovat a později zavolat. Díky tomu můžeme část kódu, který funkce obsahuje, snadno opakovaně využít v našem programu, aniž bychom museli celý kód znovu přepisovat. Funkce nám také umožňují kód lépe organizovat a efektivněji upravovat.
Například, pokud budu chtít v rámci programu převádět hodnotu z kilometrů na míle, nemusím pokaždé vypisovat vzoreček, místo toho můžu vytvořit funkci a zavolat jí.
Do funkcí mohu psát jakýkoliv kód, takže například podmínky, cykly. atd.
Vytvoření funkce
Funkci vytvoříme pomocí slovíčka function, poté zvolíme její název, pak použijeme kulaté závorky (funkce může, ale nemusí přijímat tzv. parametry) a poté složené závorky, které ohraničují blok kódu dané funkce
function pozdrav(jmeno) {
console.log("Pápá" + jmeno)
}
Zavolání funkce
Funkci mohu zavolat (spustit) tím, že napíšu její název a zadám parametr (ne každá funkce má parametr, pokud jej nemá, musím stejně napsat prázdné závorky)
pozdrav("Tinky Winky")
Po zavolání funkce se provede kód, tzn. do konzole se vypíše
Pápá Tinky Winky
Funkce se spouští až při jejím zavolání, dokud funcki nezavolám, je kód uvnitř funkce neaktivní
Parametry
Funkce s parametry
Funkce může přijímat parametry, které píšu do závorky, když funkci vytvářím. Parametrů může mít i vícero.
function scitani(a,b) {
let vysledek = a + b
console.log(vysledek)
}
Hodnoty, se kterými bude dané funkce konkrétně pracovat poté dosadím, když funkci zavolám.
Například scitani(2,3)
vypíše výsledek 5
Parametry fungují v rámci funkce v podstatě jako proměnné. V kódu funkce mohu vytvářet také klasické proměnné, ale pozor na to, pokud je definuji uvnitř funkce, tak s nimi nelze pracovat mimo danou funkci.
Funkce bez parametrů
Ne každá funkce musí mít parametr. Pokud parametr nemá, vytvářím
function pozdrav() {
console.log("Ahoj")
}
a volám funkci
pozdrav()
s prázdnými kulatými závorkami. Tato funkce nepřijímá žádný parametr a proto bude mít statický kód, což ale může být často žádoucí.
Ahoj
Return
Funkce nám také mohou vrátit nějakou hodnotu. K tomu používáme slovíčko return. Return **ukončí ** funkci a vrátí hodnotu tam, kde byla funkce zavolána. Tzn. jakýkoliv kód, který je ve funkci napsán po return se již neprovede.
function prevodNaMile(km) {
let mile = km * 1.6
}
Díky tomu mohu získat výsledek operace ve funkci a použít jej dále ve svém kódu. Takový výsledek mohu například schovat pod proměnnou
let petKmNaMile = prevodNaMile(5)
Pod touto proměnnou je nyní schován výsledek funkce, tzn. číslo 8
Anonymní funkce
Můžeme vytvářet také anonymní funkce, kterým nedáme název. Anonymní funkce jsou častokrát na jedno použití. Příklad u event listeneru:
tlacitko.addEventListener("click", function() {
console.log("Tlačítko stisknuto")
})
Anonymni funkci mohu také schovat do proměnné, ale většinou bývá v takovém případě lepší funkci rovnou pojmenovat.