class DarkRaha extends com { // разработка приложений
            String a="Главная" b="Контакты" c="О сайте"
};

JavaScript

Основы

Введение
Внедрение
Комментарий
Утверждения
Идентификаторы
Типы данных
Литералы
Переменные
Область видимости
Строки
Массивы
Ассоциативные массивы
Выражения и операции
Управляющие операторы
Функции
ООП - объекты
ООП - прототип, наследование
Замыкание
RTTI
Исключения
Объект Math
Объект Global
Объект Number
Регулярные выражения
XML DOM

библиотеки

Справочник по JavaScript

ООП - объекты

функция как объект

В отличие от таких языков как С++, здесь функция является полноценным объектом. И для создания нового типа объекта, нужно просто определить новую функцию, инициализирующую объект (т.е. конструктор).


// определяем новый тип объекта
function Person(nname, ffamaly) {
this.name=nname;
this.famaly=ffamaly;
this.address="";

// не забываем, функция тоже объект
this.fullname=splitstr; // функция определена внешне

// определяем метод внутри конструктора
this.nameaddress=function() {
    return this.famaly+", "+ this.address;	
	}
}

// функция которую используем, как метод нашего объекта
function splitstr() {
return this.name+" "+this.famaly;
}

//а теперь создаем объект
var obj = new Person("Petr","Petrov");

// пробуем методы
document.write(obj.fullname());
obj.address="any street";
document.write("<br>"+obj.nameaddress());

объект как массив свойств

В JavaScript объекты можно рассматривать массивами свойств. И аналогично массивам, при попытке обращения к не существующему свойству, оно автоматически добавляется. Например, если вы вне функции используете переменную без объявления ключевым словом var, то это переменная на самом деле становится свойствам объекта window.

Чтобы обратиться к свойствам внутри конструктора используется ключевое слово this. А в следующем примере показано как динамически изменять колличество свойств объекта.


var obj = new Object(); 

// добавляем два новых свойства
obj.strprop = "Hello, world";
obj.numprop = 3.14;

// удаляем свойство numprop
delete obj.numprop;

Во-вторых, к свойству объекта можно обратиться и через операцию индексации.


var obj =new Object();
obj.width=40;	
obj["width"]=67;

// в результате будет выведена строка obj.width=67
document.write("obj.width="+ obj.width ); 

То, что в других языках называется методом объекта, здесь это можно назвать и свойством, ведь функция это объект. Поэтому следующие строчки равносильны.


// определяем как метод 
function myFunc(arg) {...}
// определяем как свойство
myFunc=function(arg){...};

Рейтинг@Mail.ru