Статьи → JavaScript → JavaScript. Создание объектов
JavaScript предоставляет разработчикам возможность создавать объекты и работать с ними. Для этого существуют следующие приёмы:
- Оператор new
- Литеральная нотация
- Конструкторы объектов
- Ассоциативные массивы
Используем оператор new
Это, наверное, самый легкий способ создания объекта. Вы просто создаете имя объекта и приравниваете его к новому объекту Javascript.
//Создаем наш объект
var MyObject = new Object();
//Переменные
MyObject.id = 5; //Число
MyObject.name = "Sample"; //Строка
//Функции
MyObject.getName = function()
{
return this.name;
}
Минус данного способа заключается в том, что вы можете работать только с одним вновь созданным объектом.
//Используем наш объект
alert(MyObject.getName());
Литеральная нотация
Литеральная нотация является несколько непривычным способом определения новых объектов, но достаточно легким для понимания. Литеральная нотация работает с версии Javascript 1.3.
//Создаем наш объект с использованием литеральной нотации
MyObject = {
id : 1,
name : "Sample",
boolval : true,
getName : function()
{
return this.name;
}
}
Как видите, это довольно просто.
Объект = {
идентификатор : значение,
...
}
И пример использования:
alert(MyObject.getName());
Конструкторы объектов
Конструкторы объектов - это мощное средство для создания объектов, которые можно использовать неоднократно. Конструктор объекта - это, по сути, обычная функция Javascript, которой так же можно передавать различные параметры.
function MyObject(id, name)
{
}
Только что мы написали конструтор. С помощью него мы и будем создавать наш объект.
var MyFirstObjectInstance = new MyObject(5,"Sample");
var MySecondObjectInstace = new MyObject(12,"Othe Sample");
Таким образом мы создали различные экземпляры объекта. Теперь мы можем работать отдельно с каждым экземпляром объекта MyObject, не боясь того, что, изменяя свойства одного экземпляра, мы затронем свойства другого экземпляра.
Как и в ООП, у MyObject могут быть методы и различные свойства. Свойствам можно присвоить значения по умолчанию, либо значения, переданные пользователем в конструкторе объекта.
function MyObject(id, name)
{
//Значения переданные пользователем
this._id = id;
this._name = name;
//Значение по умолчанию
this.defaultvalue = "MyDefaultValue";
}
Аналогичным образом мы можем создавать и функции.
function MyObject(id,name)
{
this._id = id;
this._name = name;
this.defaultvalue = "MyDefaultValue";
//Получение текущего значения
this.getDefaultValue = function()
{
return this.defaultvalue;
}
//Установка нового значения
this.setDefaultValue = function(newvalue)
{
this.defaultvalue = newvalue;
}
//Произвольная функция
this.sum = function(a, b)
{
return (a+b);
}
}
Ассоциативные массивы
Подобный метод будет полезен упорядочивания большого числа однотипных объектов.
var MyObject = new Array();
MyObject["id"] = 5;
MyObject["name"] = "SampleName";
Для обхода таких объектов можно использовать такой цикл:
for (MyElement in MyObject)
{
//Код обхода
//В MyElement - идентификатор записи
//В MyObject[MyElement] - содержание записи
}
По материалу подготовлена небольшая схема.
Статья любезно предоставлена habrahabr.ru © dinamyte
|
|
Ajax
CSS
JavaScript
Google
php
1C
MSSQL
Маркетинг
MySQL
Web-разработка
SEO
Virus
Заработок
Логотипы
Фирменный стиль
Безопасность
SMO
Хостинг
Аутсорсинг
Сотовая связь
Домены
|