Объекты
Создание
Допустим нам нужно хранить информацию о товаре. У каждого товара есть такие свойства как название товара, описание, цена и фотография товара.
Синтаксически такое описание товара будет выглядеть вот так
var product = {
name:'бычки в томате',
description: 'черноморские бычки бережно приготовленные тетей Мусей в томате херсонских помидор',
price:'бесценно',
image:'tomato_bichok.jpg'
}
Допустим мы хотим вывести в консоль название товара в product. Для этого нам нужно обратиться к свойству name объекта product. Делается это через точку (смотри пример внизу)
console.log(product.name);
Свойства
Допустим мы хотим поменять цену нашего продукта
product.price = 200;//тип свойства price при этом меняется со string на int
Мы могли бы пойти другим путем в создании объекта
var midii = {};// создаем пустой объект
midii.name = 'Мидии';
midii.price = 100;
midii.image = 'luzanovka_midii.png';
Методы
Допустим мы хотим вывести имя, цену и картинку на экран. Нам понадобится функция, но поскольку функция в JavaScript'e одновременно может быть еще и переменной, то добавим ее внутрь нашего объекта.
midii.getInfo = function() {
return this.name+' '+this.price+' '+this.image;
}
//вызовем наш метод
midii.getInfo();
Наверняка у Вас возник вопрос, а что такое this? Чтобы ответить на него давайте мысленно представим что происходит. Мы вызвали функцию(метод) getInfo изнутри объекта midii. Метод возвращает нам имя, цену и картинку. Но имя, цену и картинку чего? Правильно нам нужны имя, цена и картинка ЭТОГО объекта из которого была вызвана функция getInfo. Вот this и является указанием на то, что мы берем свойства с ЭТОГО объекта.
Практика:
- Создать объект для товара с названием, ценой и картинкой. По объекту сгенерировать товар для страницы.
- Создать массив для объектов-товаров. Вывести каталог товаров