Руководство по actionscript. часть 2, стр. 119
Isbn0072231726:»Price: $24.95. Title: High Score!»
}:
Использование функций для создания объектов
В процессе чтения этой книги вы видели, что большинство объектов в языке ActionScript создается с помощью классов. Тем не менее существует возможность создавать объекты с использованием независимых замыканий функций. Следующий код демонстрирует общий подход. В нем для примера объявлена функция Employee ( ), которая применяется для создания объекта:
// Создаем функцию function Employee ( ) { }
// Используем функцию для создания объекта и присваиваем этот объект
// переменной worker
var worker = new Employee( );
Обратите внимание, что переменная worker является нетипизированной. С точки зрения типов данных объект, на который ссылается переменная worker, представляет собой экземпляр класса Object. Класс Employee не существует, поэтому не существует и тип данных Employee. Таким образом, следующий код вызовет ошибку (поскольку тип данных Employee не существует):
// ОШИБКА!
var worker-.Employee = new Employee( );
Замыкание функции, используемое для создания объекта, называется функцией-конструктором (не путайте с л*еяюдо. м-конструктором, который является частью определения класса). В языке ActionScript 3.0 независимые функции, объявленные на уровне пакета, не могут применяться в качестве функций-конструкторов, ио: этому предыдущий код должен быть размещен внутри метода, в коде за пределами описания пакета или в сценарии кадра на временной шкале в среде разработки Flash. Тем не менее ради краткости в этом разделе все функции-конструкторы
показаны без необходимых методов или сценариев кадров, которые должны содержать эти функции.