Онлайн-курсы по JavaScript
Выбрать другой урок из курса
Обсуждение
Теория урока

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

Мы уже познакомились с объектами, которые еще называют ассоциативными массивами. Они в JavaScript используются немного по-другому, нежели в других языках. Теперь поработаем с их свойствами.

Теперь создадим несколько объектов следующими двумя способами:

Пример
var obj = new Object()
var obj = {}

Свойства можно добавить двумя различными способами, которые принципиально различны:

Пример
obj.property = 12
obj["property"] = 12

Теперь объясню когда и что логичнее использовать. Квадратные скобки используют чаще всего если название свойства содержится в переменной. Чтобы было понятно, посмотрим пример:

Пример
var name = 'property'
obj[name] = 12

Перейдем к выводу свойств, и хочется сказать что он до безумия прост. Кстати хочу оговориться, если свойства этого объекта нет, то вернется undefined.

Пример
alert(obj.property)
alert(obj['property'])

Главное нужно запомнить, что никакой ошибки не будет, если свойство пустое.

Я не помню, говорил ли я о том что существование глобальной переменной обычным условным оператором if. Для проверки следует использовать typeof.

Пример
if (typeof name != 'undefined') { ... }

Эта отсылка неспроста. Теперь решим задачу проверки существования глобальной переменной при помощи объектом, зная, что все они являются свойствами объекта window:

Пример
if (window.name) { ... }

Как теперь удалить свойство объекта? Это делается созвучным оператором delete

Пример
obj.test = 12
delete obj.test
obj['newproperty'] = false

Еще есть возможность создать сразу несколько свойств вместе с объявлением объекта следующим способом:

Пример
var obj = { 
    test: 12,  
    newproperty: false 
}   
<
×
>
Не публикуйте свой код прямо в комментариях. Во-первых, он плохо отображается. Во-вторых, он может содержать для кого-то «спойлеры», т.е. ответы на практику. Воспользуйтесь специальными сервисами: cssdeck.com или jsfiddle.net.
Комментарии, содержащие код (пару строк не считается), будут безжалостно удаляться.