Instrukcja for
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
warunek
jest wykonane. Jeśli wartośćwarunek
jest prawdziwa, instrukcja pętli jest wykonana. Jeśli wartośćwarunek
jest fałszywa, pętlafor
jest przerwana. Jeśli wyrażeniewarunek
jest 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>