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

       

Объекты


Объектом называется структура, имеющая свойства (properties), представляющие собой переменные JavaScript или другие объекты. Функции, ассоциированные с объектом, называются методами объекта. Обращение к свойствам и методам осуществляется просто: objectName.propertyName objectName.methodName

Все имена чувствительны к регистру.

Если объект с названием house имеет свойства bedrooms, bathrooms, floors и squareFeet, вы можете обращаться к их значениям:

house.bedrooms house.bathrooms house.floors house.squareFeet

Другим способом представления объектов является запись их как массивов:

house["bedrooms"] house["bathrooms"] house["floors"] house["squareFeet"]

Этот же объект может быть представлен в JavaScript и как обычный массив:

house[0] house[1] house[2] house[3]

Такой тип взаимоотношений между индексами и строками называется ассоциативным массивом. Создание нового объекта требует вызова функции-конструктора объекта. Например, следующая функция должна создавать новый экземпляр объекта house:

function House(bedrooms, bathrooms, floors, squareFeet) { this.bedrooms - bedrooms; this.bathrooms - bathrooms; } this.floors - floors; this.squareFeet = squareFeet }

Теперь, когда объект определен, его экземпляр создается с помощью оператора new.

5OOSouth5th = new House (2, 1, 1, 1700)

В определение объекта могут быть включены другие объекты. Например, объект с названием owner имеет свойства name, age, mortgageLength.

function Owner(name, age, mortgageLength) { this.name = name; this.age = age; this.mortgageLength = mortgageLength }

Добавление дополнительного аргумента и строки кода в функцию Hous'e добавляет объект owner к объекту house:

function House(bedrooms, bathrooms, floors, squareFeet, owner) {

this.bedrooms = bedrooms; this.bathrooms = bathrooms; this.floors = floors; this.squareFeet = squareFeet; this.owner = owner }

Новый экземпляр объекта owner (Glenn Woodson, 38 лет, со сроком закладной в 20 лет), представленный переменной G_Woodson, включен в объект house:

G_Woodson = new Owner("Glenn Woodson",38,20); 5OOSouth5th = new House(2, 1, 1, 1700, G__Woodson)

Свойства объекта G_Woodson включены в объект 5OOSouth5th:

5OOSouth5th.bedrooms 5OOSouth5th.bathrooms 5OOSouth5th.floors 5OOSouth5th.squareFeet 5OOSouthSth.G_Woodson.name 5OOSouth5th.G_Woodson.age 5OOSouth5th.G_Woodson.mortgageLength



Содержание раздела