这是我试图通过
JavaScript或点或[]表示法构建的:
var shoppingCart = { 'item1' : { 'description' : 'This is item #1','price' : 10,'quantity' : 1,'shipping' : 0,'total' : 10 } };
现在,如果’item1’是变量名itemName.
这有效:
var shoppingCart = {};
shoppingCart [itemName] = itemName;
警报(shoppingCart.item1);
返回item1
但这不起作用:
1 var shoppingCart = {};
2 shoppingCart [itemName] [‘description’] =’这是第1项’;
JS刚刚在第2行去世,为什么?以及如何将描述值分配给“描述”?
我会这样做:
var shoppingCart = { itemName : { 'description' : description,'price' : price,'quantity' : quantity,'shipping' : shipping,'total' : total } };
…但它使密钥字面意思是itemName而不是item1.
解决方法
shoppingCart [itemName]不存在.
您需要先创建它:
您需要先创建它:
var shoppingCart = {}; shoppingCart[itemName] = { }; shoppingCart[itemName].description = 'This is Item #1';
或者,更好的是:
var shoppingCart = {}; shoppingCart[itemName] = { description: 'This is Item #1' };