1.2 Объекты.
Объект - это неупорядоченное множество пар ключ-значение.Часто про объект говорят, что он содержит набор свойств, а если свойство содержит функцию, то его называют методом. Надо понимать, что это просто терминология и по сути это все данные.
Теперь можно сказать, что все в JavaScript является объектами кроме значений "примитивных" типов и это так.
В своей практике я всегда создаю объект с помощью литерала объекта. Это красиво и легко запоминается.
var myObj = {};
Так просто.Классов в JavaScript нет, но при этом есть механизм прототипов, который позволяет реализовать наследование. Про наследование разговор еще будет впереди.
Для обхода свойств объекта правильно применять цикл for-in ( для массивов лучше for ) .Сразу хочу обратить внимание на одну особенность. Допустим мы расширили прототип Object, от которого наследуют свойства все объекты, а потом создали свой объект pupkin. Теперь мы хотим обойти в цикле свойства созданного нами объекта.
Object.prototype.whoami = "I am Object";
var pupkin = {
age: 22,
title: "kursant",
kurs: 1
};
for (var k in pupkin) {
console.log( k );
}
Результат будетЭто не совсем то, что мы ожидали, но тут ошибок нет. Наш объект унаследовал свойство whoami от своего прототипа. Так что, если необходимо работать со свойствами только одного объекта без учета унаследованных, то необходимо использовать метод hasOwnProperty().
"age" "title" "kurs" "whoami"
Добавим в цикл условие проверки принадлежности свойства данному объекту и немного модифицируем вывод:
for (var k in pupkin) {
if (pupkin.hasOwnProperty(k)) {
console.log( k + ":" + pupkin[k] );
}
}
Результат:Вот, теперь другое дело )
"age:22" "title:kursant" "kurs:1"
Следующий разговор будет о функциях. Удачи.
Комментариев нет:
Отправить комментарий