这就是我试图通过 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 就死在第 2 行了,为什么?以及如何将描述值分配给“描述”?
我会这样做:
var shoppingCart = {
itemName : {
'description' : description,
'price' : price,
'quantity' : quantity,
'shipping' : shipping,
'total' : total
}
};
...但它使 key 字面意思是
itemName
而不是 item1
。 最佳答案
shoppingCart[itemName]
不存在。
您需要先创建它:
var shoppingCart = {};
shoppingCart[itemName] = { };
shoppingCart[itemName].description = 'This is Item #1';
或者,更好的是:
var shoppingCart = {};
shoppingCart[itemName] = { description: 'This is Item #1' };