← Rejstřík JavaScript · Základy 01 / 08

Základy

Funkce

Funkce je recept: kus kódu se jménem, který napíšeme jednou a spustíme, kolikrát chceme.

Postavíme si malou kalkulačku cen v e-shopu: cena s DPH, sleva a hezký výpis.

Funkce · 1

Recept a jeho použití

Slovo function, jméno, kulaté závorky a tělo ve složených. Tím se recept jen zapíše, ještě se nic nestane.

Spustí se až zavoláním: jméno a závorky pozdrav(). Tady ho voláme dvakrát.

console.log() je taky funkce, jen ji napsal někdo jiný. Proto ty závorky.

Funkce · 2

Parametry: co funkci dáme

Do závorek můžeme funkci předat hodnoty. Uvnitř se jmenují podle parametrů v definici, tady jmeno. Při každém zavolání mají jinou hodnotu.

Funkce · 3

Výsledek: return

Funkce může vrátit výsledek. return ho pošle zpátky na místo, odkud jsme funkci zavolali. Tam ho uložíme do proměnné nebo rovnou použijeme.

Funkce, která jen vypisuje, se nedá dál použít. Funkce, která vrací, ano: s výsledkem jde počítat, porovnávat, zobrazit ho na stránce.

Funkce · 4

Víc parametrů a výchozí hodnota

Parametrů může být víc, oddělí se čárkou. Parametru můžeme dát výchozí hodnotu: použije se, když ho při volání vynecháme.

Zápis

Arrow funkce =>

Kratší zápis: funkci uložíme do konstanty a místo function napíšeme šipku =>. Když má tělo jediný výraz, nemusí mít ani složené závorky ani return.

Oba zápisy dělají totéž. Arrow funkce uvidíte hlavně u krátkých funkcí, které se předávají jiným funkcím, třeba v lekci Pole a cykly.

Skládání

Funkce volají funkce

Malé funkce, z nichž každá dělá jednu věc, se skládají do větších. Funkce cenovka vezme cenu, přidá DPH, zaokrouhlí a vrátí hezký text.

Math.round() zaokrouhlí na celé číslo. Objekt Math má i Math.floor() (dolů), Math.max() nebo Math.random() (náhodné číslo od 0 do 1).

Shrnutí

Napsat jednou, použít mnohokrát

Ano

  • krátké funkce, které dělají jednu věc
  • jméno se slovesem: spocitej, zobraz, sDph
  • return, když má funkce něco spočítat
  • arrow funkce => pro krátké funkce

Ne

  • kopírovat stejný kód na víc míst
  • zapomenout závorky při volání: pozdrav funkci jen jmenuje, pozdrav() ji spustí

Další: Pole a cykly →

← → kroky · M mobil