JavaScript ciklus enumeracije (for-in)
Ciklus enumeracije nije klasičan ciklus čije se iteracije izvršavaju na osnovu nekog uslova. U pitanju je ciklus pomoću koga možemo pobrojati sve članove (svojstva i metode) nekog objekta. Ciklus će se izvršiti po jednom za svakog pripadajućeg člana.
Ovaj ciklus se još naziva i "for-in" petlja. Zadaje se na sledeći način:
for ([promenljiva] in [objekat]) [naredba];
Kao i za sve kontrolne strukture, važi da se umesto naredbe može zadati ceo blok naredbi:
for ([promenljiva] in [objekat]) {
[naredba];
[naredba];
...
}
Kako ovaj ciklus funkcioniše? Relativno jednostavno. Zadata promenljiva, u svakom prolasku kroz ciklus (iteraciji) dobija tekstualnu vrednost jednog člana objekta. Ciklus se ponavlja za svaki član.
Vrednosti svojstva možemo pristupiti preko notacije sa uglastim zagradama.
Primer
Ako bismo imali objekat sa sledećim svojstvima:
objekat.svojstvo
objekat.clan
objekat.element
Da pogledamo kako bi funkcionisao ciklus enumeracije:
for (var s in objekat) {
// u prvom prolasku kroz ciklus, promenljiva s ima vrednost "svojstvo"
// u drugom s="clan"
// i u trećem s="element"
objekat[s] // na ovaj način pristupamo vrednosti svojstva
}