Späť Domov Ďalej

Domov
Výpisy
Premenné
Dialógové okná
Tlačidlá
.Podmienky a vetvenie
Cyklus
Funkcie
Objekty
Objekt Array
Objekty tvorené užívateľom
Objekt Date
Objekt Math
Formuláre
Objekty formulárov
Ďalšie objekty formulára
Obrázky
Obrázky-2
Stavový riadok
Popis v stavovom riadku
Animovaný text
Hodiny
Skladačka
Linky

5.Podmienky a vetvenie

Jedným z najdôležitejších programovacích príkazov je podmienka, ktorá testuje určitý vzťah medzi dvomi hodnotami. Aj v Javascripte používame pri podmienke rezervované slová if ...else. Za rezervovaným slovom If je uvedená podmienka v okrúhlych zátvorkách. Ak podmienka je splnená, vykoná sa časť nasledujúca bezprostredne za ňou (príkaz1), v prípade nesplnenia sa vykoná časť uvedená za else (príkaz2). Táto môže aj chýbať (neúplný podmienený príkaz).

Syntax:

if (podmienka) { príkaz1 } else { príkaz2 }

  • V našom príklade sme použili dialógové okná s výzvou prompt - vkladáme dve čísla, ktoré uložíme do premenných x, y a tieto porovnáme pomocou podmienky if ... else.
  • Podmienku za if vkladáme do okrúhlych zátvoriek.()
  • Pokiaľ je príkazov za niektorou časťou viac, tieto uzavrieme do zložených zátvoriek {} - napr.:

if (x>y) {document.write("<br> prvé číslo je "+x);

document.write("<br> druhé číslo je "+y);

document.write("<br>"+x+"je väčšie ako"+y);

}

  • Značka <br> je použitá značka HTML jazyka na odriadkovanie výpisu
 <body> <script language="javascript">

x=prompt("zadaj prvé číslo","1.číslo")

y=prompt("zadaj druhé cislo","2.číslo")

if (x>y) document.write("prvé číslo je väčšie ako druhé")

else document.write ("prvé číslo je menšie alebo rovné druhému")

</script>

Je možný aj skrátený zápis :

 (x>y)? document.write("x je väčšie ako y"):document.write(" x  nie je väčšie ako y");

  • v uvedenom príklade sa skrátený zápis použil aj s  dosadením za premennú a - pri zvolených hodnotách sa objaví dialógové okno s hlásením "ano", pri zvolení menšieho x a väčšieho y sa objaví "nie"
  • podmienen0 príkazy možno vnárať do seba - napr.: if (x==y) {(x==z){document.write("x je rovné y a rovné z")}} - vyjadruje: ak x rovná sa y, potom ak x rovná sa z, tak napíš "x je rovné x a rovné z"

 

<script language="javascript">

var a

x=10;

y=3;

a=(x>y)? "ano":"nie";

alert(a);

</script>

Ak potrebujeme použiť vetvenie programu na viacero častí použijeme prepínač Switch() s možnosťami

case 1:

  vetva1;

  break;

case 2:

  vetva 2;

  break;

.

.

.

default:

  iná možnosť;

V uvedenom príklade sme použili vkladanie hodnôt "1", "2", "3", resp. inú hodnotu, ktorú vypíšeme

 Rezervované slovo break zabezpečí, že sa ďalšie možnosti preskočia.

<body><script language="javascript">

var a

a=prompt("zadaj hodnotu 1,2,3","napíš číslo!");

switch (a){

case "1":

  alert("vložili ste 1");

  break;

case "2":

   alert("vložili ste 2");

    break;

case "3":

    alert("vložili ste 3");

   break;

default:

alert("nezadali ste správnu hodnotu, Vaša hodnota je "+a);

}

</script>

</body>

 
Vyskúšajte sa:

 1. V skripte je daná časť

if  (...  ) alert("a sa nerovná b")

else alert ("a sa rovná b");

doplňte časť (...)

 

2. Podmienka začína

if (a < 5 || a > 6) alert("... ")

čo môže byť vo výpise

3. V skripte je časť

a=confirm("Chceš pokračovať?");

if (... ) alert("stlačil si OK")

else alert ("stlačil si STORNO");

 

Doplňte

4. Skript je zapísaný

<script language="JavaScript">

var a;

k=7; m=8;

a=prompt("Zadaj hodnotu"," 1, 2 alebo 3");

switch(a){

case "1":

k+=m;

break;

case "2":

m+=k;

break;

case "3":

m++;

break;

default:

alert("nesprávna hodnota");

}

alert("k="+k+" m="+m);

</script>

Aké hodnoty vypíše, ak sme zvolili 2?

 


Úlohy:

  1. Napíšte program, ktorý si vyžiada dve hodnoty a, b a vypíše ich v poradí menšie "<" väčšie.
  2.  Napíšte program na zadanie mena návštevníka. V prípade, ak meno nie je zadané, upozorní ho správou, v opačnom ho pozdraví menom
  3. Napíšte program, ktorý zistí, či v danej adrese nechýba znak " @"

Riešenie

späť


Posledná aktualizácia: 12 máj, 2003

Webmaster: Mgr.Anna Peťovská