6.07. Ciklusok

Default book

Ugyanaz, mint a C-ben:

Megszámlálásos ciklus

for(i=O ; i< 100; i++){
  document.write(i);
  document.write("<br>");
}

A for ciklus a ciklusváltozó inicializálása után teszteli az értékét. A teszt a második paraméter. Ha a teszt eredménye igaz, akkor végrehajtja a ciklus magját (belsejét). Ha a ciklusmagot végrehajtotta akkor változtatja a harmadik paraméter által megadott módon (növeli vagy csökkenti) a ciklusváltozót, majd megint kiértékeli és így tovább... Elöltesztelő ciklus.

While ciklus

var t = "";
while( t != "vege"){
  t = prompt("Kérem adja meg a vége értéket!");
  document.write(t);
  document.write("<br>");
}
document.write(t);
document.write("<br>");

A fenti példa elöltesztelő ciklus.mielőtt a ciklus magját végrhajtja a program előtte teszteli, hogy a ciklus feltétele igaz-e.

Do ... While ciklus

i=987;
do {
  i--;
  if ( (i % 3 ==0 ) )
    break;
} while ( i >0);

A fenti példában 987-től visszafelé írassuk ki a 3-mal nem osztható egész számokat! (Hülye példa, de megteszi). Hátultesztelő ciklus, vagyis a ciklusmag végrehajtása után teszteli le a feltételt a ciklus. Ha a feltétel igaz, akkor megy még egy kört...

Elöltesztelő ciklus

  • A ciklusmag végrehajtása előtt végez tesztet. Ha a teszt igaz, akkor végrehajtja a ciklusmagot
  • A ciklusmag nem biztos, hogy lefut akár egyszer is.

pl. Ürres tömböt is kiirathatunk ezen a módon, nem okoz hibát a program

var t =[];
for(i = 0; i< t.length; i++){
  document.write(t[i]);
  document.write("<br>");
}

Hátultesztelő ciklus

  • A ciklusmag legalább egyszer lefut
var t =[];
i = 0;
do{
  document.write(t[i]);
  document.write("<br>");
  i++
}while (i < t.length)

A fenti példában a program hibára fut, hiszen megpróbálja kiiratni a tömb 0. elemét, pedig az nem is létezik.