Úloha 2 – Parametry, argumenty a jejich pořadí ve volání funkce

Site: Moodle ZČU
Course: Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný)
Book: Úloha 2 – Parametry, argumenty a jejich pořadí ve volání funkce
Printed by: Gast
Date: Sunday, 18 October 2026, 5:58 AM

Úvod do úlohy

Parametry a argumenty jsou základem komunikace mezi funkcí a zbytkem programu. Pokud ale při volání funkce použijeme špatný počet argumentů, nebo je dáme ve špatném pořadí, výsledky nebudou odpovídat našemu očekávání. Proto je nutné rozumět tomu, jak JavaScript přiřazuje hodnoty – vždy postupně, zleva doprava. Kromě toho studenti zjistí, že parametry fungují jako kopie hodnot, takže jejich změna uvnitř funkce se nijak neprojeví na původních proměnných mimo funkci.


Teorie a principy

  • Pořadí parametrů: první argument patří prvnímu parametru, druhý argument druhému parametru atd. → pořadí je zásadní.

  • Počet argumentů:

    • méně argumentů → chybějící parametry mají hodnotu undefined,

    • více argumentů → přebytečné se ignorují.

  • Hodnoty vs. reference (pro začátečníky jen základní poznámka): pokud parametrem předáme číslo nebo řetězec, funkce s ním pracuje jako s kopií → změna uvnitř funkce neovlivní původní proměnnou.


Praktické příklady kódu

1. Důležitost pořadí argumentů

2. Méně a více argumentů

3. Změna parametru uvnitř funkce


Typické chyby / záludnosti

  • Nedodržení pořadí argumentů – funkce pracuje s nesprávnými daty.

  • Očekávání, že funkce „doplní“ chybějící hodnoty – místo toho je undefined.

  • Překvapení, že změna parametru neovlivní původní proměnnou – pro čísla a řetězce to neplatí, pracuje se s kopií.

  • Ignorování přebytečných argumentů – studenti se mohou divit, proč se nepoužijí.


Shrnutí – hlavní body k zapamatování

  • Pořadí argumentů musí odpovídat pořadí parametrů.

  • Méně argumentů → chybějící parametry mají undefined.

  • Více argumentů → přebytečné se ignorují.

  • Parametry uvnitř funkce jsou kopie hodnot, změna neovlivní původní proměnné.

Úloha

Zadání (kontext úlohy):

Máš napsat jednoduchou funkci, která vypíše zprávu o tom, kdo a kam cestuje. Jenže pokud při volání zadáš argumenty v jiném pořadí, než funkce očekává, výsledek nedává smysl.


Cíl úlohy:

Student si procvičí práci s pořadím a počtem argumentů při volání funkce.


Vstupní podmínky:

Student pracuje pouze s nově vytvořeným souborem script.js.


Požadovaný výstup:
  1. Vytvoř funkci cesta, která má dva parametry: jmeno a misto.

  2. Funkce má do konzole vypsat větu: „[jméno] cestuje do [místo].“

  3. Zavolej funkci alespoň třikrát:

    • jednou se správným pořadím argumentů,

    • jednou s prohozeným pořadím,

    • jednou jen s jedním argumentem.

  4. Sleduj, co se vypíše do konzole v každém případě.


Doplňující pokyny:
  • Uvědom si, že chybějící parametr se stane undefined.

  • Přebytečné argumenty funkce ignoruje.

  • Pořadí je zásadní – první hodnota jde do prvního parametru, druhá do druhého.

Řešení úlohy

Co je zde splněno

  • funkce cesta má dva parametry (jmeno, misto),

  • při volání se předávají různé kombinace argumentů,

  • je ukázáno, že pořadí argumentů je zásadní,

  • chybějící parametr je undefined.

Vylepšení oproti začátečnické verzi

  • použití výchozí hodnoty parametru pro misto,

  • využití šablonového řetězce pro čitelnější skládání textu,

  • zachována klasická function, takže kód je stále vhodný i pro začátečníky, kteří si potřebují osvojit základní strukturu funkce.

Poznámky

  • Pokud předáš více než dva argumenty, funkce použije jen první dva, zbytek ignoruje.

  • Toto chování je v JavaScriptu běžné.