Úloha 3 – Převod času
Úvod do úlohy
Funkce nejsou jen pevně napsané bloky kódu – jejich síla spočívá v tom, že umí pracovat s vstupy (parametry) a vracet zpět výstupy (návratové hodnoty). Díky tomu se stejná funkce stává univerzálním nástrojem, který můžeme použít v mnoha různých situacích. Pokud bychom funkce psali bez parametrů a návratových hodnot, museli bychom stále dokola přepisovat podobný kód. Parametry umožňují funkci pracovat s libovolnými daty a return nám dává možnost výsledek předat dál – buď do jiné funkce, nebo do proměnné, kterou pak můžeme dále používat.
Teorie a principy
-
Parametry funkce:
-
zapisují se do kulatých závorek za názvem funkce,
-
fungují jako proměnné, do kterých při volání vložíme konkrétní hodnoty (argumenty).
-
-
Argumenty:
-
jsou hodnoty, které funkci při volání předáme,
-
jejich pořadí musí odpovídat pořadí parametrů.
-
-
Návratová hodnota:
-
zapisuje se pomocí
return, -
ukončí vykonávání funkce a předá zpět výsledek,
-
funkce bez
returnvrací automatickyundefined.
-
-
Řetězení funkcí: návratovou hodnotu jedné funkce lze předat jiné funkci nebo uložit do proměnné pro další práci.
Praktické příklady kódu
1. Funkce s jedním parametrem a návratovou hodnotou
2. Funkce s více parametry
3. Předání návratové hodnoty dál
Typické chyby / záludnosti
-
Záměna parametru a argumentu – parametr je v definici (
function mojeFunkce(x)), argument je konkrétní hodnota při volání (mojeFunkce(5)). -
Zapomenutý
return– funkce sice něco vypočítá, ale nic nevrátí. -
Přehozené pořadí argumentů – funkce bere argumenty podle pořadí, nikoli podle jména.
-
Zaměnění lokální a globální proměnné – parametr žije jen uvnitř funkce, ven se dostane pouze přes
return. -
Příliš mnoho úkolů v jedné funkci – funkce by měla mít jasně vymeřený účel.
Shrnutí – hlavní body k zapamatování
-
Parametry = vstupy funkce, argumenty = konkrétní hodnoty při volání.
-
returnslouží k předání výsledku zpět. -
Funkce bez
returnvracíundefined. -
Návratovou hodnotu můžeme uložit do proměnné nebo předat jiné funkci.
-
Správné pořadí argumentů je zásadní.