ГлавнаяActionScript 3 — «100 советов» › Метки

Метки

June 19th, 2006
В ActionScript 3 введены метки (labels), новые идентификаторы, которые можно привязывать к блокам циклов. Зачем вам может понадобиться идентифицировать блок цикла? Потому, что этот идентификатор можно использовать в командах break и continue. Представьте себе два цикла, один вложен в другой. Если в какой-то момент вы захотите прервать оба цикла, находясь во внутреннем, вы этого сделать не сможете. Команда break прервет только текущий блок. Обычно для этих целей используют переменную-флаг, которую устанавливают во внутреннем цикле, чтобы иметь возможность проверить во внешнем и, при необходимости, выйти также и из него. Пример:

Код:
var i:Number; var j:Number; var exit:Boolean = false; for (i=0; i<10; i++) { for (j=0; j<10; j++) { if (i > 3 && j > 3) { exit = true; break; } } if (exit) { break; } }

Когда i больше 3 и j больше 3, используется break для выхода из текущего цикла, но это выход только из цикла по j. Для того, чтобы выйти и из цикла i, была использована переменная exit с условным оператором if в цикле по i.

Метки позволяют вам идентифицировать и прерывать указанный цикл (а также все вложенные в него). Формат метки label: statement
Пример:

Код:
var i:Number; var j:Number; mainLoop: for (i=0; i<10; i++) { for (j=0; j<10; j++) { if (i > 3 && j > 3) { break mainLoop; } } }

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

Категория: ActionScript 3 — «100 советов» Ярлыки: ,

Смотрите также

Класс Dictionary Событие MOUSE_LEAVE или как узнать что мышка за пределами SWF
  1. Пока без комментариев.
  1. Пока нету.