Сообщение от АнонимныйПарень
|
Сама корзина:
function showCart () {
var out = '';
for (var w in cart) {
out += '<span> ID товара: '+ w +'</span> <br>'+'<span> Кол-во товара: '+ cart[w] +'</span> <br> <span> Название: '+ cart[w].name +' <br> <br>';
}
$('#my-cart').html(out);
};
Вопрос: почему имя undefined?
|
Почему список товаров сразу на страницу не вывести (Ну или не вывести на страницу данные о товарах в JSON, если сервер этого не может сделать)?
Почему в качестве контейнера для товаров в корзине решено юзать localStorage?
Что, если я запрещу сайту юзать моё локальное хранилище?
Сообщение от АнонимныйПарень
|
Вопрос: почему имя undefined?
|
Честно сказать, код особо сильно не разглядывал, однако процитированный код показался мне крайне интересным.
Конструкция, которую ты используешь для перебора списка корзины («for(var i in list)») перебирает не только свойства этого объекта, но и все его унаследованные свойства.
Т.е. при переборе ты можешь получишь не только данные о товаре.
https://learn.javascript.ru/prototype
Далее, кол-во товаров это объект «cart» с ключом «w» («cart[w]»), значит «cart[w]» это число.
Что ты ожидаешь увидеть, если далее по коду пытаешься прочитать
свойство «name» у числа?