Příkaz return ukončí funkci
return dělá dvě věci najednou: vrátí hodnotu a hned ukončí funkci. Zbytek funkce se už neprovede:
function secti(a, b) {
return a + b;
console.log("Tento řádek se nikdy neprovede.");
}
console.log(secti(2, 3));Tento kód vypíše:
5Řádek za return se nikdy neprovede, protože funkce skončila už o řádek dřív.
To se hodí hlavně v kombinaci s podmínkami. Následující funkce popíše počasí podle teploty:
function popisPocasi(stupne) {
if (stupne < 0) {
return "mrzne";
}
if (stupne < 20) {
return "chladno";
}
return "teplo";
}
console.log(popisPocasi(-5));
console.log(popisPocasi(12));
console.log(popisPocasi(25));Tento kód vypíše:
mrzne
chladno
teploProjděme si všechna tři volání:
popisPocasi(-5):-5 < 0jetrue, a tak funkce vrátí"mrzne"a skončí. Druhá podmínka se vůbec nekontroluje.popisPocasi(12): první podmínka jefalsea druhátrue, a tak funkce vrátí"chladno".popisPocasi(25): ani jedna podmínka nenítrue, a tak se funkce dostane až na poslední řádek a vrátí"teplo".
Nepotřebovali jsme žádné else: jakmile se provede return, zbytek funkce se stejně přeskočí. Záleží ale na pořadí podmínek, protože vyhraje první return, který se provede. Kdyby funkce nejdřív kontrolovala stupne < 20, vrátila by pro -5 hodnotu "chladno", protože i -5 je menší než 20.
Jak psát:
Pokyny
Doplňte funkci cenaVstupenky tak, aby vracela cenu vstupenky do zoo pro návštěvníka daného věku: děti mladší 6 let mají vstup zdarma (0), návštěvníci mladší 18 let platí 100 a všichni ostatní 200. Program pak vypíše 0, 100 a 200.
Senioři od 65 let platí také 100. Přidejte pro ně do funkce podmínku a na konci programu vypište cenaVstupenky(70).
Začněte programovat zdarma
6/10