Объекты JavaScript.



Объект является фундаментальным типом данных в языке JavaScript. Объекты (они же — ассоциативные массивы, хэши) и работа с ними в Javascript — реализованы не так, как в большинстве языков.

Объект представляет собой обычный ассоциативный массив или, по другому, «хэш». Он хранит любые соответствия «ключ => значение» и имеет несколько стандартных методов. Он может хранить в себе числа, строки, булев тип данных, функции и другие объекты.

Метод объекта в javascript — это просто функция, которая добавлена в ассоциативный массив.

Создание объекта:

// эквивалентные записи
var o = new Object()
var o = {}

Добавление свойств:

// эквивалентные записи
o.test = 10 // добавление через точку
o["test"] = 10 // добавление через квадратные скобки

Доступ к свойствам:

Доступ к свойству осуществляется такими же способами, как и добавление свойств.

alert(o.test)
alert(o['test'])

Удаление свойств:

Удаляют свойства с помощью оператора delete.

o.test = 5
delete o.test
o['bla'] = true

Прототипы

Каждый объект в языке JavaScript имеет второй объект, ассоциированный с ним. Этот второй объект называется прототипом, и первый объект наследует от прототипа его свойства.

Все объекты, созданные с помощью литералов объектов, имеют один и тот же объект-прототип, на который в программе JavaScript можно сослаться так: Object.prototype.

Object.prototype — один из немногих объектов, которые не имеют прототипа: у него нет унаследованных свойств. Другие объекты-прототипы являются самыми обычными объектами, имеющими собственные прототипы. Все встроенные конструкторы наследуют прототип Object.prototype.

Атрибут prototype

Атрибут prototype объекта определяет объект, от которого наследуются свойства. Он устанавливается в момент создания объекта. Для объектов, созданных с помощью литералов, прототипом является Object.prototype. Прототипом объекта, созданного с помощью оператора new, является значение свойства prototype конструктора. А прототипом объекта, созданного с помощью Object.create(), становится первый аргумент этой функции (который может иметь значение null).

Атрибут class

Атрибут class — это строка, содержащая информацию о типе объекта. Чтобы определить класс объекта, можно вызвать метод toString() этого объекта и извлечь из результата подстроку с восьмого по предпоследний символ.

Атрибут extensible

Атрибут extensible определяет, допускается ли добавлять в объект новые свойства. Назначение атрибута extensible заключается в том, чтобы дать возможность «фиксировать» объекты в определенном состоянии, запретив внесение изменений.

Сериализация объектов

Сериализация объектов — это процесс преобразования объектов в строковую форму представления, которая позднее может использоваться для их восстановления.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Chinese (Traditional)EnglishJapaneseRussianUkrainian

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: