我遇到了一个奇怪的问题。我正在建立一个在线商店,并将我的产品显示为:
var products = {
'Box1':{
'price' : 10,
'quantity' : 10
},
'Box2':{
'price': 15,
'quantity' : 10
},
'Clothes1':{
'price': 20,
'quantity' : 10
},
'Clothes2':{
'price': 30,
'quantity' : 10
},
'Jeans':{
'price': 50,
'quantity' : 10
},
'Keyboard':{
'price': 20,
'quantity' : 10
},
'KeyboardCombo':{
'price': 40,
'quantity' : 10
},
'Box2':{
'Mice': 20,
'quantity' : 10
},
'PC1':{
'price': 350,
'quantity' : 10
},
'PC2':{
'price': 400,
'quantity' : 10
},
'PC3':{
'price': 300,
'quantity' : 10
},
'Tent':{
'price': 100,
'quantity' : 10
},
};
我也宣布了一个全局变量
var priceTotal = 0;
当我点击产品上的“添加”按钮时,我有一个addtocart函数。这是按预期工作的。我的功能如下:
function addToCart(productName) {
//var total = 5;
cart[productName]++;
products[productName].quantity --;
priceTotal = priceTotal + products[productName].price;
var element = document.getElementById("cartTotal");
element.innerHTML = "CartTotal($"+priceTotal+")";
}
无论出于何种原因,除了我添加Box2时,一切都按照我的要求运行。每当我点击add为box2时,我的priceTotal显示NaN,无论priceTotal的先前值如何。我已经尝试将价格值更改为不同的数字,但它仍然存在。有谁知道为什么会发生这种情况?这里是否有明显的错误,或者我是否需要显示更多代码?
由于
答案 0 :(得分:0)
如果你仔细观察,你会意外地两次添加 box 2 ,第二次使用" Mice"而不是"价格,"所以priceTotal值将会关闭。