Funkce
Pouze s hodnotami a operátory bychom se v programování daleko nedostali. Často budeme potřeboval vykonat složitější operaci než jen matematický výpočet. Pokud nějakou takovou složitější operaci programátoři používají často, šance je, že pro ni existuje functionfunkce.
Funkce je kousek programu řešící nějakou konkrétní úlohu. Většinou jde o úlohu, kterou řešime často a opakovaně. Příkladem může být například zaokrouhlování desetinných čísel na celá čísla. To je operace, která se hodí skoro ve všech výpočtech, a bylo by zbytečné ji programovat neustále znova. V JavaScriptu proto máme k dispozici funkci jménem Math.round
.
Pokud chceme nějakou funkci použít, uděláme to tak, že napíšeme její jméno a do kulatých závorek vložíme hodnotu, se kterou má funkce pracovat. Takto například použijeme naši funci Math.round
.
document.body.innerHTML += Math.round(3.14);
Hodnotě uvnitř kulatých závorek říkáme inputvstup funkce. Spuštění funkce se mezi programátory říká callvolání. Jakmile funkce dokončí operaci, returnvrátí nám takzvaný outputvýstup. V programátorském žargonu tedy říkáme, že když zavoláme funkci s nějakým vstupem, ona nám vrátí výstup.
Rychlé občerstvení
Funkce jsou rozsáhlé téma, které nás bude provázet až do konce kurzu. Již brzy se také naučíme psát funkce vlastní. Pro lepší představu o tom, jak funce fungují, se nám bude hodit následující analogie.
Můžeme si představovat, že funkce je něco jako stánek s rychlým občerstvením. Takový stánek má dvě okýnka. Jedno vstupní, do kterého zadáte svoji objednávku, a druhé výstupní, kde po chvíli obdržíte svůj hamburger nebo smažák v housce. Objednávání rychlé svačiny je pak podobné jako volání funkce. Do stánku vložíte nějaké vstupy a ven vám vypadne výstup. Pokud nejste vysloveně zvědaví nebo paranoidní, dění uvnitř stánku vás až tolik nezajímá, podobně jako vás až tolik nezajímá, jak vlastně JavaScript technicky provádí zaokrouhlování. Důležité je, že funkce funguje a že párek v rohlíku nakonec chutná tak, jak jste zvyklí.
Výrazy s funkcemi
Volání funkce je také výraz, podobně jako operace s hodnotami a proměnnými. Můžeme jej tedy použít uvnitř libovolného jiného výrazu. Navíc vstup pro funkci lze také vytvořit pomocí výrazu. Nabízí se tedy mnoho způsobů, jak skládat složitější výpočty, jako například tento.
document.body.innerHTML += 70 % Math.round(100 / 3);
Užitečné funkce
JavaScript obsahuje spousty a spousty funkcí, díky kterým lze provádět mnoho užitečných a zajímavých věcí. Během celého kurzu je budeme společně objevovat. Takto zkraje si ukážeme jen ty nejzákladnější.
Pokud bychom místo klasického zaokrouhlování chtěli zaokrouhlovat vždy dolů nebo vždy nahoru, můžeme použít funkce Math.floor
a Math.ceil
.
document.body.innerHTML += Math.floor(3.9);
document.body.innerHTML += Math.ceil(3.1);
Jednou z funkcí, se kterými si užijeme více zábavy, je Math.random
. Ta při každém zavolání vrátí náhodné desetinné číslo mezi 0 a 1.
document.body.innerHTML += Math.random();
Všimněte si, že tato funkce nemá žádný vstup. I takové funkce jsou možné a nejsou žádnou velkou výjimkou.
Chytrým použitím zaokrouhlování a trochou matematiky můžeme pomocí Math.random
generovat náhodná celá čísla například v rozmezí 0 až 9.
document.body.innerHTML += Math.floor(Math.random() * 10);
To se nám může hodit pokud programujeme nějakou hru nebo třeba chceme-li vygenerovat náhodná testovací data.