Синтаксис
with (object) { statement(s);
}
Аргументы
object Экземпляр ActionScript объекта или мувиклипа.
statement(s) Команда или группа команд, заключенных в фигурные скобки.
Описание
Команда; временно изменяет область контекстного действия (или путь), используемые для определения выражений и команд в statement(s). После выполнения команды with, область действия восстанавливается к первоначальному значению.
Object соответствует контекстной области, в которой читаются свойства, переменные и функции. Например, если object - myArray и два его свойства определены, как length и concat, эти свойства автоматически читаются как myArray.length и myArray.concat. В другом примере, если object есть state.california, то это то же самое, как если бы любая команда или операторы внутри команды with были вызваны изнутри экземпляра california.
Для нахождения значения идентификатора в statement(s), ActionScript начинает поиск в начале контекстной области, определенной object и ищет их в каждом уровне контекста в характерном порядке.
Контекстная область, используемая командой with, определяет идентификаторы начиная с первого элемента следующего списка и до последнего:
![]() |
object вызванный изнутри команды with |
![]() |
object вызванный наиболее удаленным местом команды with |
![]() |
Активированный объект (временный объект, созданный автоматически, когда функция вызвана для хранения локальных переменных.) |
![]() |
Мувиклип, содержащий текущий исполняемый скрипт |
![]() |
Глобальный объект (предопределенные объекты, такие как Math, String) |
Во Flash 5 команда with заменяет нежелательную команду tellTarget. Предпочтительнее использовать with вместо tellTarget, потому что стандарт ActionScript расширен к стандарту ECMA-262. Принципиальное различие между with и tellTarget командами то, что with обращается к клипу или другим объектам как к их аргументам, в то время как tellTarget обращается к пути (target path), идентифицирующем мувиклип и не может использовать объекты.
Для установки переменной внутри команды with, она должна быть объявлена снаружи или должен быть введен полный путь до линейки (Timeline) на которой необходимо разместить переменную. Если вы установили переменную в команде with без ее объявления, команда with будет искать значение согласно контексту. Если переменная уже не существует, новое значение будет установлено на линейке, с которой команда with была вызвана.