Projdeme si, co jsou to funkce a události, jak na ně reagovat a jak pomocí nich měnit obsah na webu.
Tady máš odkaz k materiálům pro tuto lekci: czchts-js-3
Funkce jsou v programování samostatné bloky kódu, které se spustí tehdy, až jsou zavolány. To nám umožňuje vícekrát použít části kódu, aniž bychom je museli psát znovu. Abychom funkci vytvořili, potřebujeme slovo function, kterým programu řekneme, že teď bude následovat funkce. Funkce mohou mít vstupní hodnoty - argumenty, se kterými následně pracují, a stejně tak mohou i vracet výsledky. Co má funkce vrátit, jí řekneme slovem return. Tomu, co nám funkce vrátí, se říká návratová hodnota.
Události (anglicky events) se spouští na základě různých akcí, které provádíme na webu. Například:
Seznam všech událostí najdete tady. My ale budeme používat jen pár základních.
Důležité je si uvědomit, že události se spouštějí neustále, i když na ně nereagujeme. My chceme reagovat jen na některé vybrané z nich a k tomu nám slouží "posluchače" (anglicky event listener).
Abychom mohli na událost reagovat, musíme získat element, na kterém se spouští, a nastavit mu "posluchače". K tomu nám poslouží metoda addEventListener(), která bere dva argumenty:
V případě, že funkci využíváme pouze v jednom event listeneru, můžeme využít anonymní funkci.
Anonymní funkce je funkce, kterou nelze volat z jiného místa v kódu, protože nemá jméno (od toho anonymní). Spouští se pouze při vyvolání události, na kterou reagujeme.
Při reagování na událost JavaScript automaticky předává funkci objekt dané události, který můžeme a nemusíme využít. Pokud ho ale potřebujeme využít, musíme ho předat jako argument anonymní funkci. Standardně se využívá pojmenování event nebo zkráceně e, ale na pojmenování vůbec nezáleží, jen si ho musíte pamatovat.
Nám se bude tento objekt hodit třeba v případě, když budeme zjišťovat, kterou jsme stiskli klávesu.
Projekt online vzdělávání byl realizován v rámci Stipendia Czechitas v projektu: „Ženy do IT“ (reg.č. CZ.03.1.51/0.0/0.0/16_061/0003268), který je financován z prostředků Evropského sociálního fondu prostřednictvím Operačního programu Zaměstnanost.