for (i = 2; i < 21; i += 2) b = i * 2 + 1; А в этом примере начальное значение счетчика равно 2, а конечное - 21, но цикл выполнится опять же 10 раз. А все потому, что значение счетчика увеличивается на 2 и последовательно принимает значения 2, 4, 6… 20.
В особом "вырожденном" случае цикл for может даже не содержать тела. В этом случае "полезную нагрузку" цикла несет на себе выражение приращения.
Цикл с постусловием
Цикл с постусловием во многом похож на цикл со счетчиком, а именно, в том, что он выполняется до тех пор, пока остается истинным условие цикла.
Причем условие проверяется не до, а после выполнения тела цикла, отчего цикл с постусловием и получил свое название. Такой цикл выполнится хотя бы один раз, даже если его условие с самого начала ложно.
Формат цикла с постусловием:
do
<Тело цикла> while (<Условиё>) ; Для задания цикла с постусловием используются ключевые слова do и while. Поэтому такие циклы часто называют "циклами do-while".
Цикл с постусловием можно использовать различными способами. Например, так:
do {
а = а * i + 2;
i = ++i;
} while (a < 100); В рассмотренном выше примере проверяется наступление некого отвлеченного условия.
А можно записать такой цикл так:
var а = 0, i = 1; do {
а = а * i + 2; i = ++i;
} while (i < 20); Здесь мы используем счетчик, чье конечное значение ограничено. Хотя, конечно, в данном примере удобнее было бы использовать уже знакомый нам и специально предназначенный для таких случаев цикл со счетчиком.
Цикл с предусловием
Цикл с предусловием отличается от цикла с постусловием тем, что условие проверяется перед выполнением тела цикла. Так что, если оно (условие) изначально ложно, цикл не выполнится ни разу.
while (<Условиё>)
<Тело цикла> Для создания цикла с постусловием используется ключевое слово while. Поэтому такие циклы называют еще "циклами while" (не путать с "циклами do-while"!).
Пример цикла с предусловием:
while (а < 100) { а = а * i + 2; i = ++i;
}
Прерывание и перезапуск цикла
Иногда бывает нужно прервать выполнение цикла. Для этого Flash предоставляет программистам действия break и continue.
Действие break позволяет прервать выполнение цикла и перейти к следующему за ним выражению.
while (а < 100) {
а = а * i + 2;
if (а > 50) break;
i = ++i;
}
В этом примере мы прерываем выполнение цикла, если значение переменной а превысит 50.
Собственно, мы уже знакомы с действием break. Оно использовалось в выражении выбора, где вело себя точно так же.
Действие continue позволяет перезапустить цикл, т. е. оставить невыполненными все последующие выражения, входящие в тело цикла, и запустить выполнение цикла с самого его начала: проверка условия, приращение счетчика и выполнение тела и т. д.
while (а < 100) { i = ++i;
if (i > 9 && i < 11) continue; a = a * i + 2;
}
Здесь мы пропускаем выражение вычисления а для всех значений i от 10 до 20.
Функции
Функция - это особым образом написанный и оформленный фрагмент кода ActionScript, который можно вызвать из любого места любого сценария. Фактически функция - это повторно используемый участок кода, который, будучи написанным один раз, может быть вызван где угодно, кем угодно и сколько угодно раз. Так что, если какой-то фрагмент кода встречается в нескольких местах вашего сценария или сценариев, лучше всего оформить его в виде функции.