Справочник по Flash | страница 19



, выполняются statemets. В противном случае, цикл завершается.

В конце каждой итерации выполняется предложение next, перед очередной проверкой condition, позволяющей узнать, должен ли продолжаться цикл.


Примеры:


Типичный цикл for, который просто считает от 1 до 10.

for (var i = 1; i <= 10; i++) { trace("Число: "+i);}

Вот эквивалент этого примера, только составленный с помощью цикла while:

var i = 1;while (i <= 10) { trace("Число: "+i); i++;}

Допустим, нам нужно управлять в цикле более чем одним фактором.

В цикле for можно использовать более одной переменной-итератора, разделив их запятой.

for (var i = 1, j = 10; i <=10; i++, j--) { trace("i увеличивается: " + i); trace("j уменьшается: " + j);};


Совместимость:


Используется с 5-ой версии Flash

for...in - Цикл, используемый для перечисления свойств объекта




for...in


Цикл, используемый для перечисления свойств объекта.


Синтаксис:


for (var thisProp in object) { statements // Предложения обычно используют thisProp}

Вместо повторения серии предложений, пока заданное проверочное выражение не даст значения false, цикл for-in осуществляется по одной итерации для каждого свойства для заданного объекта.

Предложения for-in не требуют явного обновляющего предложения, поскольку число итераций цикла определяется числом свойств рассматриваемого объекта.

Предложения statements выполняются по одному разу для каждого свойства object;

На каждой итерации цикла переменная thisProp временно хранит строку, которая содержит имя свойства объекта, перечисляемого в данный момент. Это значение строки можно использовать во время каждой итерации, чтобы получить доступ к каждому свойству и обработать его.

Простейшим примером цикла for-in является сценарий, который перечисляет свойства объекта.


Примеры:


Создание объекта, а затем перечисление по пунктам его свойств с помощью цикла for-in

var ball = new Object();ball.radius = 12;ball.color = "red";ball.style = "beach";for (var prop in ball) { trace("balls has the property " + prop);}

Пример выведет следующее

balls has the property style balls has the property color balls has the property radius

Т.к. prop хранит имена свойств ball как строки, для извлечения значений этих свойств можно использовать prop с оператором []:

for (var prop in ball) { trace("balls." + prop + " is " + ball[prop]);}

Пример выведет:

ball.style is beach ball.color is red ball.radius is 12

Стоит обратить внимание, что свойства объекта, просматриваемые в цикле