Оператор delete
может не сработать и возвратитьПредопределенные функции и объекты, также как и переменные, объявленные с помощью var, не могут быть удалены.
Чтобы избавить массив от ненужного именованного элемента, применяем оператор delete
:delete arrayName.elementName
Удаление именованного элемента разрушает как значение элемента, так и его контейнер, освобождая при этом память, занимаемую элементом и его содержимым. (При удалении нумерованных элементов оператор delete
удаляет только значение, а контейнер сохраняет).В следующих примерах создается объект, используется, а затем удаляется за ненадобностью:
account = new Object();account.name = "Jon";account.balance = 10000;...delete account;
В следующем примере удаляется свойство (
// создаем новый объект "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;
Если бы
Совместимость:
Используется с 5-ой версии Flash
duplicateMovieClip - Создать копию клипа
duplicateMovieClip
(
Эта функция позволяет создать копию существующего клипа
Синтаксис:
duplicateMovieClip(target, newname, depth);
Аргументы:
Описание:
Создает экземпляр муви-клипа во время проигрывания фильма. Дублирование всегда начинается с кадра номер 1, вне зависимости от того, на каком кадре был клип.
Дублированный клип наследует все преобразования (поворот, масштаб и пр.), применявшиеся к
Если удаляется родительский мувик, то дублированный - тоже удаляется. Используйте команду или метод removeMovieClip чтобы удалить экземпляр муви-клипа, созданного командой duplicateMovieClip
.Доступ к глобальной функции duplicateMovieClip()
можно осуществить и как к методу клипа, но в таком формате не используется аргументПримеры:
// Копирует клип ball и дает копии имя ball2duplicateMovieClip(ball, "ball2", 0);// Перемещает созданный клип ball2,// чтобы его можно было видетьball2._x += 100;
Следующие строчки множат
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
evaluate - Создает новую пустую строку, и вставляет ;
evaluate
Создает новую пустую строку, и вставляет ; для того, чтобы можно было ввести свой код в строку Expression панели Actions.
Синтаксис:
statement;
Действие evaluate
позволяет вызывать свои функции пользователю, который редактирует скрипт в режимеСовместимость:
Используется с 5-ой версии Flash
for - Многократно выполняет некоторый код
for
Многократно выполняет некоторый код
Синтаксис:
for (initialization; condition; next) { statements}
Цикл for
помещает в заголовок цикла ключевые компоненты цикла, разделенные точкой с запятой. Перед первой итерацией цикла for выполняется предложениеКак и в других циклах, если
В конце каждой итерации выполняется предложение
Примеры:
Типичный цикл for
, который просто считает от 1 до 10.for (var i = 1; i <= 10; i++) { trace("Число: "+i);}