Оператори за цикъл
Публикувана от smilev на January 12 2011 09:22:48

Разширена новина
Първия оператор за цикъл който ще разгледаме е for. Синтаксиса му е следния :

for (i=0; условие; i++) {

}

...където i е променлива, която се използва за брояч, а условие е булев израз. Нека да направиме скрипт, който да извежда на екрана числата от 0 до 9 :

for (i=0;i<10; i++) {
document.write(i)
document.write("<BR>")
}

За удобство от сега нататък вече няма да пиша HTML частта от документа.
Оператора for е оператор за цикъл, който се управлява от една променлива, наречена брояч. В случая това е променливата i, но можете да и дадете каквото искате име. Можем да разделим мислено оператора for на две части. Първата част следва веднага след for и е заградена с кръгли скоби. Втората част е тялото, т.е. там са разположени операторите които ще се изпълняват по време на цикъла.
В първата част (да я нарячем "условна" защото там се поставя условието) се извърша броенето и проверката дали дадено условие е изпълнено. Нека да я разгледаме по-подробно.

for (i=0;i<10; i++)

Първо създаваме една променлива i като и даваме начална стойност 0 (i=0). След това правим проверка дали стойноста на променливата i е по-малка от 10 (i<10). Ако това условие е вярно, продължаваме нататък, ако не е, цикълът спира. Третата стъпка в условната част е увеличаването на i с 1 (i++). Ако цикълът не е спрян поради изпълняване на условието, той се повтаря отново докато не се изпълни, но без да се нулира променливата отначало. Така при първото завъртане на цикъла i ще бъде равно на 0, при второто на 1 и т.н. докато не стане 9. Когато стане 9 цикълът ще се прекъсне.
Тялото на цикъла се изпълнява толкова пъти, колкото се завърта самия цикъл. В този случай в тялото имаме оператор за отпечатването на променливата i на екрана и преминаването на нов ред :

{
document.write(i)
document.write("<BR>")
}

Така изпълнявайки този цикъл ще видите на екрана изписани цифрите от 0 до 9 . Ако искате да се изписва и числото 10, трябва да промените условието, например вместо i<10 да напишете i<=10. Трябва да знаете че всички оператори вътре в условната част трябва да се отделят един от друг с точка и запетая (;).
С помощта на цикъла for можете да правите доста сложни скриптове, но това ще го разгледаме по-подробно в готовите скриптове.

Другия тип цикъл в javascript е :

while (условие) {
оператори
}

Този цикъл е малко по-опростен. При него стойностите на всички променливи се задават предварително, а самия цикъл се изпълнява докато условието в кръглите скоби отговаря на истината. Нека направим примера с отпечатването на числата от 0 до 9 с помощта на while :

i=0
while (i<10) {
document.write(i)
document.write("<br>")
i++
}

Този скрипт работи по същия начин като предишния, само че с друг оператор за цъкъл. Първо приавояваме начална стойност 0 на променливата i . След това поставяме условие докато i<10 да се изпълнява частта от скрипта във фигурните скоби. Там се увеличава и стойноста на i с единица.