MySley.NET
Поиск статьи
Dominion

JavaScript объектно-ориентированное программирование

Рубрика: Компьютеры
Опубликовано: 06.08.2008 05:51:50
Рейтинг:

Как и большенство «взрослых» языков JavaScript может быт объектно-ориентированным. В нем так же существуют обекты, пространства имен и многие другие полезные вещи, которых, казалось бы, так нехватает в клиентских скриптовых языках.

JavaScript объектно-ориентированное программирование

Как и большенство «взрослых» языков JavaScript может быт объектно-ориентированным. В нем так же существуют обекты, пространства имен и многие другие полезные вещи, которых, казалось бы, так нехватает в клиентских скриптовых языках. Хотя, к примеру, в VBScript существуют способы создавать классы, но здесь есть небольшое ограничение: только IE!

Цель этой статьи - суммировать и доступно преподнести все знания собранные со всего интернета, плюс поделиться немного своим собственным опытом.

Начнем с простого...


Классы в JavaScript

Создание простейшего класса
Как создать "класс" в JavaScript'е? В JavaScript не существует такого понятия как "класс", но есть возможность создавать объекты, которые будут вести себя аналогично классам. Все когда-нибудь, но пользовались ссылкой на обект, когда писаль обработчики событий:

<a href="#" onclick="alert(this.innerHTML)">Простая ссылка</a>

Щелчек мыши на такой ссылке приведет к тому, что появится окошко с надписью "Простая ссылка". Всем это известно, поэтому рассказывать что и почему не стану (если нет - купите книжку про основы JavaScript:), хотя некоторые моменты уточню дальше.

Так вот на это действие слова this не заканчивается, но, по большому счету, для создания класслв больше ничего особого и не понадобится. Вот пример описания простейшего класса:

function SimpleClass(){
 this.SomeMethod = "Some Method Value";
}

Вот, собственно, и все. :) Конечно, если написать что-то наподобие:

var x = SimpleClass();

то, в таком случае Вы ничего не получите. Для создания экземпляра класса необходимо использовать ключевое слово new, как, к примеру, при создании массивов var arr = new Array();. Тогда, в результате, у Вас должно получиться что-то наподобие такого:

function SimpleClass(){
 this.SomeMethod = "Some Method Value";
}

var x = new SimpleClass();

alert( x.SomeMethod ); // появится alert с текстом "Some Method Value"

Добавить коментарий
Имя:
E-Mail:
Текст:
Введите защитный код:
Навигация
Рубрики