Работа с объектами и их экземплярами
Работа с объектами и их экземплярами
Перед тем как начать работу с экземпляром какого-либо объекта, его нужно создать. Создание экземпляра объекта выполняется с помощью оператора new:
<Переменная> = new <Имя объекта>([<Список параметров, разделенных запятыми>])
После создания экземпляра объекта оператор new возвращает ссылку на него. Эта ссылка, как правило, присваивается какой-либо переменной.
Список параметров может как присутствовать, так и отсутствовать. Обычно он содержит значения, которые присваиваются свойствам экземпляра при его создании. А то, какие значения каким свойствам присваиваются, можно узнать из описания данного объекта в интерактивной справке Flash.
Вот пример создания экземпляра obj некоего объекта someObject:
var obj;
obj = new someObject(a, b);
Теперь мы можем обращаться к свойствам и методам созданного экземпляра, используя уже знакомый синтаксис "с точкой":
obj.prop1 = 0;
а = obj.prop2 + 2;
obj.method1();
Иногда бывает, что один объект содержит внутри себя другие объекты (так называемые внутренние). Для обращения к свойствам и методам внутренних объектов используется тот же синтаксис, но обладающий, скажем так, "повышенной этажностью":
outerObject.innerObject.prop = 0;
где outerObject — экземпляр внешнего объекта (имеющего в своем составе внутренние объекты), a innerObject — экземпляр внутреннего объекта.
Выражение, описывающее цепочку вложенных друг в друга объектов, называется путем. Иногда путь бывает очень длинным:
obj ectOuter.obj ectInner.obj ectInnerlnner.prop = 10;
Как и в случае массива, мы можем присваивать ссылку на экземпляр объекта другой переменной:
obj 2 = obj;
Чтобы удалить ненужный экземпляр, следует использовать оператор delete:
delete <Переменная, содержащая ссылку на экземпляр объекта>;
Например,
delete obj, obj 2;
Внимание!
Закончив работу с экземпляром какого-либо объекта, всегда удаляйте его. Помните, что каждый экземпляр расходует ресурсы компьютера, которых всегда не хватает.
Оператор typeof возвращает для экземпляра объекта строку "object". Это значит, что экземпляр объекта имеет объектный тип данных.
На заметку
Очень часто Flash сам создает экземпляры каких-либо объектов и сам же их удаляет. В частности, именно так происходит с экземплярами объекта Movieclip, т. е. клипами.
Данный текст является ознакомительным фрагментом.