Pokročilý cyklus
Co si pod tímto názvem představit, myslel jsem tím příkazy pro rozšíření cyklu a to ty docela důležité.
První Break a druhý Continue.
Break
Pokud si pamatujete tak už jsme jednou tento příkaz používaly a to v kapitole o Větvení, kde se v příkazu switch docílilo toho že se po splnění
podmínky už nevypsali další části switche. V cyklech má tento příkaz podobné využití a to také k tomu aby se ukončil cyklus předčasně.
Příklad:
<script language="JavaScript" type="text/javascript">
<!--
slova=new Array();
a=0;
window.alert("Zadávejte slova a až budete chtít skončit\nnapište slovo end");
while (a>=0)
{
slovo=window.prompt("Zadejte nějaké slovo:","JavaScript");
if (slovo=="end") break;
slova[a]=slovo;
a++
}
document.write("<h4>Napsal jste tato slova</h4>");
for (b=0;b<a;b++) document.write(slova[b]+"<br>");
//-->
</script>
Tento script vás vyzve k tomu aby jste psaly slova a až budete chtít skončit tak napíšete end. A jako vždy tu mám pro vás tento příklad>>> hotový.
Ve scriptu bylo použito cyklu while ve kterém je nadefinován window.prompt a cyklus break, který pomocí if (slovo=="end") break; kde se nadefinuje slovo při kterém má cyklus skončit.
Pak se pomocí cyklu for se rozhodne jak vypsat, která načte z cyklu a poté každé slovo dá na nový řádek. Tento script jsem vytvořil pomocí příkladu v knize JavaScript-Programujeme internetové aplikace.
Continue
Pokud jste si zaexperimentovaly s předchozím příkladem tak jste zjistily že když jste zmačkly ESC nebo nic nevyplnily tak script přesto obsah vypsal. Tento cyklus, ale dokáže zabezpečit aby se nevypsaly
prázdné řádky a nebo hodnota null když zmačknete ESC. A tak by jsme si mohli opravit ten předchozí příklad a to tak že do něj implementujeme continue.
Příklad:
<script language="JavaScript" type="text/javascript">
<!--
slova=new Array();
a=0;
window.alert("Zadávejte slova a až budete chtít skončit\nnapište slovo end");
while (a>=0)
{
slovo=window.prompt("Zadejte nějaké slovo:","JavaScript");
if (!slovo) continue;
if (slovo=="end") break;
slova[a]=slovo;
a++
}
document.write("<h4>Napsal jste tato slova</h4>");
for (b=0;b<a;b++) document.write(slova[b]+"<br>");
//-->
</script>
Mám tu pro vás příklad>>>. Tento script je úplně stejný jako ten předchozí akorát jsem ho ošetřil continue
a to pomocí rozhodovací části if (!slovo) continue;. Protože když by jste dali ESC nebo nevyplnily window.prompt tak se vrátí logická hodnota false, kterou tento rozhodovací script zpracuje
a nedovolí zapsat prázdnou řádku.
|