【发布时间】:2012-12-27 02:05:31
【问题描述】:
var cartTotal = [];
var priceValue = x;
var priceID = y;
定义上述空数组后,我有一个循环,其中包括以下内容:
cartObj = {};
cartObj.priceID = priceValue;
cartTotal.push(cartObj);
total(priceID);
上面的代码循环了几次之后,得到的cartTotal数组会不会是这样的:
cartTotal = [{priceID:priceValue},{priceID:priceValue}] ?
我问的原因是因为我试图将 priceID 传递给下面的总函数,以便对所有 priceValue 数字求和。为什么在总函数中,a.price 是未定义的? cartTotal.length 警报表明我有一个包含许多值的数组,因此该数组在函数中被识别。
function total(price){
alert(cartTotal.length);
totalPrice = 0;
for(var i=0;i<cartTotal.length; i++){
a = cartTotal[i];
itemPrice = parseInt(a.price);
totalPrice += itemPrice;
}
}
【问题讨论】:
标签: javascript arrays object for-loop parameter-passing