Първия оператор за цикъл който ще разгледаме е 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 с единица.
////////
var image = new Image();
for (var characteristicName in image)
{
alert(characteristicName " = " image[characteristicName] ";");
}