Присвоение значений объектам JSON в Javascript

Вот что я пытаюсь построить через JavaScript в точечной или [ ] нотации:

var shoppingCart = { 
        'item1' : {
            'description' : 'This is item #1',
            'price' : 10,
            'quantity' : 1,
            'shipping' : 0,
            'total' : 10
        }
    };

Теперь, если 'item1' - это имя переменной itemName.

Это работает:
var shoppingCart = {};
shoppingCart[itemName] = itemName;
alert(shoppingCart.item1);

Что возвращает item1

Но это не работает:
1 var shoppingCart = {};
2 shoppingCart[itemName]['description'] = 'This is Item #1';

JS просто умирает на второй строке, почему? и как мне присвоить значение description к 'description'?

Я бы сделал это так:

var shoppingCart = { 
        itemName : {
            'description' : description,
            'price' : price,
            'quantity' : quantity,
            'shipping' : shipping,
            'total' : total
        }
    };

...но это делает ключ буквально itemName вместо item1.

6
задан phpKid 22 January 2012 в 22:03
поделиться