РЕКЛАМА |
Иерархическое (многоуровневое)
< Часть 3
|
Реклама
ВАКАНСИИ (Компьютеры, Интернет). |
Можно считать, что поведение объекта определяется имеющимися у него полями и методами (т.е. функциями обработки данных объекта). Обращение в полю или методу реализуется оператором "точка" (.), например, для объекта obj присваивание полю field1 значения тождественно оператору         obj.field1 = 5;, а вызов метода GetSomeProperty() оператору        var str = obj.GetSomeProperty();. В JavaScript поля и методы определяются в конструкторе в момент создания объекта, при этом в конструкторе (как впрочем и в других функциях объекта (методах)) доступна переменная с именем this, указывающая с каким конкретно объектом выполняется конструктор (метод). Используя эту переменную, контруктор создает поля и методы этого объекта. Например, для объекта menu контруктор MenuBar выгдядет так: function MenuBar() { this.objname="bar"; this.owner=null; this.count = 0; this.name = "MMB"; this.item = new Object; this.addMenu = addSubMenu; this.getSubMenu = getSubMenu; this.getMenuItem = getMenuItem; } Он создает поля объекта objname, owner, count, name, item и методы addMenu, getSubMenu, getMenuItem, которым присваиваются ссылки на функции, описанные где-то в теле сценария. Для дальнейшего описания разъясним поле item этого объекта. Как уже упоминалось объекты JavaScript не имеют типа, поэтому можно создать безымянный (вернее, без типа в нашем понимании) объект оператором new Object. Более того, item после создания можно представить как массив нулевой длины, так что оператор item[5]=some_object увеличивает этот массив на 6 единиц (нумерация ведется с 0), присваивая шестому элементу (с индексом 5) ссылку на some_object, a предшествующим элементам неопределенное значение. Такое поведение переменных в JavaScript можно считать полиморфным, т.е. зависящим от типа и выполняемых над ним действий. Это может вызывать трудности в понимании программистов "стандартного программирования", но зачастую очень удобно для использования. [> далее >] © 2000, Сергей Кузнецов
|
Реклама
Каждому сайту - механизм организации собственной ленты новостей бесплатно! |
Главная / Разное / JavaScript-меню | ^^^ |
© iD, 2000
|