Przewodnik po języku JavaScript 1.5:Instrukcje pętli:Instrukcja for
z Mozilla Developer Center, polskiego centrum programistów Mozilli.
[edytuj] Instrukcja for
Pętla for jest powtarzana aż do momentu, kiedy testowany warunek staje się fałszywy. W JavaScript pętla for jest podobna do pętli w Java i C. Instrukcja pętli for wygląda następująco:
for ([przypisanie]; [warunek]; [zmiana]) {
Instrukcje
}
Kiedy pętla for jest wykonywana to mają miejsce:
- Inicjalizacja wyrażenia
przypisanie, jeśli coś jest wykonywane. To wyrażenie często inicjuje jedną lub więcej pętli, ale kod pozwala na wyrażenia o różnym stopniu złożoności. To wyrażenie może deklarować zmienne. - Wyrażenie
warunekjest wykonane. Jeśli wartośćwarunekjest prawdziwa, instrukcja pętli jest wykonana. Jeśli wartośćwarunekjest fałszywa, pętlaforjest przerwana. Jeśli wyrażeniewarunekjest w całości opuszczone, warunek to bierze na siebie, jeśli jest prawdziwy. - Wykonuje
instrukcje. - Aktualizuje wyrażenia
zmiana, jeśli jedna wykonywana to kontrola jest przekazywana do kroku drugiego.
Przykład
Następująca funkcja stanowi instrukcję for, która to tworzy licznik zaznaczonych opcji w liście przewijanej (obiekt Select, który pozwala na wielokrotne zaznaczenia). Instrukcja for deklaruje zmienną i i inicjuje ją od zera. Sprawdza, które i jest mniejsze niż liczba opcji w obiekcie Select wykonując kolejną instrukcję if, i zwiększa i o jeden po każdej wykonanej pętli.
<script type="text/javascript">//<![CDATA[
function howMany(selectObject) {
var numberSelected = 0;
for (var i = 0; i < selectObject.options.length; i++) {
if (selectObject.options[i].selected)
numberSelected++;
}
return numberSelected;
}
//]]></script>
<form name="selectForm">
<p>
<strong>Choose some music types, then click the button below:</strong>
<br/>
<select name="musicTypes" multiple="multiple">
<option selected="selected">R&B</option>
<option>Jazz</option>
<option>Blues</option>
<option>New Age</option>
<option>Classical</option>
<option>Opera</option>
</select>
</p>
<p>
<input type="button" value="How many are selected?"
onclick="alert ('Number of options selected: ' + howMany(document.selectForm.musicTypes))"/>
</p>
</form>