Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
JavaScript
Co je to funkce ?
2. srpna 2001, 00.00 | Popis práce s funkcemi v javaskriptu. Jak definovat novou funkci, zadat návratovou hodnotu a další.. Vše samozřejmě prezentováno v příkladech.
Funkce je pojmenovaný blok příkazů, který lze z programu zavolat pomocí názvu funkce. Jednoduše řečeno: funkce zastupuje blok příkazů. Funkci tedy použijeme, pokud se nám některé bloky příkazů budou opakovat.
Vytvoření funkce
Funkci vytvoříme velice snadno. Deklarace začíná slovem function a následuje název funkce. Za názvem jsou kulaté závorky do kterých se zapisují parametry (viz. níže). Příkazy se zapisují mezi složené závorky, které následují hned po jednoduchých. Obecný zápis pro funkci pak vypadá takto:
|
Umístění funkce
Protože funkci budete jistě volat z více skriptů bude její umístění nejvhodnější mezi tag <HEAD> </HEAD>. Zajistíme tak, že funkci budeme moc volat ze všech skriptů na stránce. Chcete-li funkci použít pouze v jednom skriptu na stránce, nemusíte ji umisťovat do hlavičky dokumentu, ale lze ji deklarovat přímo ve skriptu:
|
Použití funkce
Následující příkaz vám ukáže jak lze jednoduše s funkcí pracovat. Funkce v tom to případě nejdříve vytvoří náhodné číslo a to pak zobrazí na stránku dokumentu. Funkci voláme pouze jednou a to v jednom jediném skriptu. Pokud by jste chtěli skript volat po načtení stránky musíte použít události. Volání funkce nahoda() po načtení stránky bychom provedli: <BODY onLoad="nahoda();">. K tomu se však ještě vrátíme později. Stránka se skriptem:
|
Pozn.: skript si můžete stáhnout na konci stránky. Ten je ještě vylepšen o zobrazení náhodného čísla ve stavovém řádku okna prohlížeče. Přidal jsem také příklad, který volá funkci nahoda() dvakrát.
S řádkem rndcislo=Math.round(Math.random()*100) se zatím nezabývejte. Jen si zatím řekneme, že hodnota 100 určuje maximální hodnotu náhodného čísla.
Funkce s návratovou hodnotou
Náš skript je jistě pěkný, ale nevýhodou je nemožnost změnit jeho výstup, a tak kdykoliv budeme skript volat, vždy se nám náhodné číslo vypíše na dokument. My bychom však chtěli číslo vypsat třeba do titulku okna nebo do stavového řádku prohlížeče. Jistě by bylo možné pro každý případ vytvořit novou funkci, ale to by nebylo zrovna efektivní. Proto potřebujeme, aby funkce nahoda() předala svému okolí hodnotu náhodného čísla. Aby se tak stalo, stačí přidat na její konec příkaz return a za ním hodnotu, kterou po naší funkci požadujeme. V našem případě je to hodnota proměnné rndcislo (my však v příkladu budeme chtít jako návratovou hodnotu text obsahující náhodné číslo, proto vytvoříme textovou proměnnou, viz. příklad). Pak vám nic nebrání vypsat náhodné číslo do stavového řádku prohlížeče, nebo někam jinam. Příklad ukazuje opravenou funkci a její volání:
|
Pozn.: Pokud skript zkusíte naprogramovat, pravděpodobně se vám zobrazí jiné náhodné číslo ve stavovém řádku a jiné náhodné číslo v dokumentu. To protože je funkce volána pokaždé znovu a tak "vždy" dostaneme jiné číslo.
S funkcemi s návratovou hodnotou lze pracovat podobně jako s proměnnými, nesmíte však zapomenout uvést závorky.
Funkce s parametry
Předchozí funkce mají jednu ohromnou nevýhodu. Nelze je z skriptu ze kterého jsou volány nijak ovlivňovat. A tak jsme se museli spokojit s tím, že vždy nám bude vylosováno číslo od 1 do 100. To napravíme parametrem funkce, pomocí kterého si nastavíme v jakém rozsahu bude číslo losováno. Čím více má funkce parametrů, tím více můžeme její chod externě ovlivnit. Obecný zápis pro funkci s parametry:
|
Náš další příklad ukazuje, jak lze pomocí parametru ovlivnit rozsah losovaných čísel. Budeme potřebovat pouze jeden parametr a to maximální hodnotu náhodného čísla.
|
Pokud si skript přeložíte, uvidíte, že ve stavovém řádku se bude zobrazovat text s číslem od 1 do 10. V dokumentu se budou zobrazovat čísla od 1 do 100.
Globální a lokální proměnné funkcí
Pokud budete deklarovat proměnnou přímo ve funkci (v našem případě je to proměnná rndcislo), pak tuto proměnnou můžete používat pouze v těle oné funkce. Mimo funkci nelze tuto hodnotu použít. Je to tedy lokální proměnná. Pokud proměnnou deklarujete na začátku skriptu, potom ji lze použít všude ve skriptu, tedy i ve všech funkcí. Takovým proměnným se říká globální. Pokud se ve funkci objeví lokální proměnná, která bude mít stejný název jako globální proměnná, potom lokální proměnná zastíní globální a globální proměnnou nelze ve funkci použít.
Reference
document.title - titulek stránky
podporuje: NN 2.0, IE 3.0
document.bgColor - barva pozadí stránky
podporuje: NN 2.0, IE 3.0
window.status - text ve stavovém řádku
podporuje: NN 2.0, IE 3.0
Download
Ukázky v archivuObsah seriálu (více o seriálu):
- JavaScript - Seznámení
- JavaScript - Základy
- Javascript - Datové typy proměnných
- Co je to funkce ?
- Rozhodovací struktury
- Cykly
- Objekty v Javascriptu
- Události Javascriptu
- Okna v Javascriptu
- Formuláře v Javascriptu
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007