JavaScript pro smyčku
Smyčky mohou provést blok kódu několikrát.
JavaScript smyčky
Smyčky jsou užitečné, pokud chcete spouštět stejný kód znovu a znovu, pokaždé s jinou hodnotou.
Často se tak děje při práci s poli:
Místo psaní:
text += cars[0] + "<br>";
text += cars[1] + "<br>";
text += cars[2] + "<br>";
text += cars[3] + "<br>";
text += cars[4] + "<br>";
text += cars[5] + "<br>";
Můžeš psát:
for (let i = 0; i < cars.length; i++) {
text += cars[i] + "<br>";
}
Různé druhy smyček
JavaScript podporuje různé druhy smyček:
for
- několikrát projde blok kódufor/in
- prochází vlastnosti objektufor/of
- prochází hodnoty iterovatelného objektuwhile
- prochází blok kódu, když je zadaná podmínka pravdivádo/while
- také prochází blokem kódu, když je zadaná podmínka pravdivá
Smyčka For
Cyklus for
má následující syntaxi:
for (statement 1; statement 2; statement 3) {
// code block to be executed
}
Příkaz 1 se provede (jednou) před provedením bloku kódu.
Příkaz 2 definuje podmínku pro provedení bloku kódu.
Příkaz 3 se provede (pokaždé) po provedení bloku kódu.
Příklad
for (let i = 0; i < 5; i++) {
text += "The number is " + i + "<br>";
}
Z výše uvedeného příkladu můžete vyčíst:
Příkaz 1 nastavuje proměnnou před začátkem cyklu (ať i = 0).
Příkaz 2 definuje podmínku pro běh smyčky (i musí být menší než 5).
Příkaz 3 zvyšuje hodnotu (i++) pokaždé, když byl proveden blok kódu ve smyčce.
Prohlášení 1
Normálně použijete příkaz 1 k inicializaci proměnné použité ve smyčce (ať i = 0).
Není tomu tak vždy, JavaScriptu je to jedno. Příkaz 1 je nepovinný.
V příkazu 1 můžete iniciovat mnoho hodnot (oddělených čárkou):
Příklad
for (let i = 0, len = cars.length, text = ""; i < len; i++) {
text += cars[i] + "<br>";
}
A můžete vynechat příkaz 1 (jako když jsou vaše hodnoty nastaveny před začátkem cyklu):
Příklad
let i = 2;
let len = cars.length;
let text = "";
for (; i < len; i++) {
text += cars[i] + "<br>";
}
prohlášení 2
Příkaz 2 se často používá k vyhodnocení podmínky počáteční proměnné.
Není tomu tak vždy, JavaScriptu je to jedno. Příkaz 2 je také volitelný.
Pokud příkaz 2 vrátí hodnotu true, cyklus začne znovu, pokud vrátí hodnotu false, cyklus skončí.
Pokud vynecháte příkaz 2, musíte zadat přerušení uvnitř smyčky. Jinak smyčka nikdy neskončí. To způsobí zhroucení vašeho prohlížeče. Přečtěte si o přestávkách v další kapitole tohoto návodu.
Prohlášení 3
Příkaz 3 často zvyšuje hodnotu počáteční proměnné.
Není tomu tak vždy, JavaScriptu je to jedno a příkaz 3 je volitelný.
Příkaz 3 může dělat cokoliv jako záporný přírůstek (i--), kladný přírůstek (i = i + 15) nebo cokoli jiného.
Příkaz 3 lze také vynechat (jako když zvyšujete hodnoty uvnitř smyčky):
Příklad
let i = 0;
let len = cars.length;
let text = "";
for (; i < len; ) {
text += cars[i] + "<br>";
i++;
}
Rozsah smyčky
Použití var
ve smyčce:
Příklad
var i = 5;
for (var i = 0; i < 10; i++) {
// some code
}
// Here i is 10
Použití let
ve smyčce:
Příklad
let i = 5;
for (let i = 0; i < 10; i++) {
// some code
}
// Here i is 5
V prvním příkladu pomocí var
, proměnná deklarovaná ve smyčce znovu deklaruje proměnnou mimo smyčku.
Ve druhém příkladu pomocí let
, proměnná deklarovaná ve smyčce znovu nedeklaruje proměnnou mimo smyčku.
Když let
se použije k deklaraci proměnné i ve smyčce, proměnná i bude viditelná pouze v rámci smyčky.
Smyčky For/Of a For/In
Smyčka for/in
a for/of
smyčka jsou vysvětleny v další kapitole.
Zatímco smyčky
Smyčka while
a do/while
jsou vysvětleny v dalších kapitolách.