Оператор delete может не сработать и возвратить false если identifier не существует, или не может быть удален.

Предопределенные функции и объекты, также как и переменные, объявленные с помощью var, не могут быть удалены.

Чтобы избавить массив от ненужного именованного элемента, применяем оператор delete:

delete arrayName.elementName

Удаление именованного элемента разрушает как значение элемента, так и его контейнер, освобождая при этом память, занимаемую элементом и его содержимым. (При удалении нумерованных элементов оператор delete удаляет только значение, а контейнер сохраняет).

В следующих примерах создается объект, используется, а затем удаляется за ненадобностью:

account = new Object();account.name = "Jon";account.balance = 10000;...delete account;

В следующем примере удаляется свойство (property) объекта:

// создаем новый объект "account"account = new Object();// назначаем свойство name объекту accountaccount.name = "Jon";// удаляем свойствоdelete account.name;

Еще один пример удаления свойства объекта:

// создаем массив длиной 0array = new Array();// теперь его длина - 1array[0] = "abc";// добавляем еще один элемент - длина - 2array[1] = "def";// теперь - 3array[2] = "ghi";// удаляем array[2] но длина массива не меняется,delete array[2];

Следующие примеры демонстрируют действие delete на объектные ссылки:

// создаем объект, присваиваем переменной ref1 значение ссылки на негоref1 = new Object();ref1.name = "Jody";// копируем ссылочную переменную, а затем удаляем ref1ref2 = ref1;delete ref1;

Если бы ref1 не была бы скопирована в ref2, то и объект был бы удален, так как на него не осталось бы ни одной ссылки. Когда же мы удалим ref2, больше не останется ссылок на объект, и он будет удален, так как на него не будет ссылаться ни одна переменная.

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

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

<p>duplicateMovieClip - Создать копию клипа</p>

duplicateMovieClip

(Глобальная функция)

Эта функция позволяет создать копию существующего клипа

Синтаксис:

duplicateMovieClip(target, newname, depth);

Аргументы:

Описание:

Создает экземпляр муви-клипа во время проигрывания фильма. Дублирование всегда начинается с кадра номер 1, вне зависимости от того, на каком кадре был клип.

Дублированный клип наследует все преобразования (поворот, масштаб и пр.), применявшиеся к target, но не наследует его переменные временной диаграммы target.

Если удаляется родительский мувик, то дублированный - тоже удаляется. Используйте команду или метод removeMovieClip чтобы удалить экземпляр муви-клипа, созданного командой duplicateMovieClip.

Доступ к глобальной функции duplicateMovieClip() можно осуществить и как к методу клипа, но в таком формате не используется аргумент target.

Примеры:

// Копирует клип ball и дает копии имя ball2duplicateMovieClip(ball, "ball2", 0);// Перемещает созданный клип ball2,// чтобы его можно было видетьball2._x += 100;

Следующие строчки множат flower десять раз. Переменная i используется для того, чтобы создать уникальное имя и положить новый мувик на уникальную глубину.

on(release) {amount = 10;while(amount>0) {duplicateMovieClip (_root.flower, "mc" + i, i);setProperty("mc" + i, _x, random(275));setProperty("mc" + i, _y, random(275));setProperty("mc" + i, _alpha, random(275));setProperty("mc" + i, _xscale, random(50));setProperty("mc" + i, _yscale, random(50));i = i + 1;amount = amount-1;}}

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

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

<p>evaluate - Создает новую пустую строку, и вставляет ;</p>

evaluate

Создает новую пустую строку, и вставляет ; для того, чтобы можно было ввести свой код в строку Expression панели Actions.

Синтаксис:

statement;

Действие evaluate позволяет вызывать свои функции пользователю, который редактирует скрипт в режиме Normal Mode.

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

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

<p>for - Многократно выполняет некоторый код</p>

for

Многократно выполняет некоторый код

Синтаксис:

for (initialization; condition; next) { statements}

Цикл for помещает в заголовок цикла ключевые компоненты цикла, разделенные точкой с запятой. Перед первой итерацией цикла for выполняется предложение initialization (только один раз). Обычно оно используется для задания начального значения переменной итератора.

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

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

Примеры:

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

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

Перейти на страницу:

Похожие книги