我有一个我从其他代码修改过的函数,我很困惑。使用'否则如果'似乎收入' object只返回三个属性,而不是我需要的四个属性(我可以返回value参数,或者我可以在计算中使用value参数到不同的值,但我不能捕获它们)。
return {
addItem: function(type, des, val, price){
var newItem, ID;
if(data.allItems[type].length > 0){
ID = data.allItems[type][data.allItems[type].length - 1].id + 1;
}else{
ID = 0;
}
if (type === 'exp'){
newItem = new Expense(ID, des, val);
}else if (type === 'inc'){
var ben = val * price;
newItem = new Income(ID, des, val, ben);
}
data.allItems[type].push(newItem);
return newItem;
},
我认为我的问题在于这个功能,但正如我所说,我现在非常困惑。它有明显的问题吗?
编辑:这是收入函数构造函数:
var Income = function(id, description, value, price){
this.id = id;
this.description = description;
this.value = value;
this.price = price;
this.ben = ben;
};
答案 0 :(得分:0)
如果要跟踪ben
,可以将其添加到构造函数args。
var Income = function(id, description, value, price, ben){
在实例化新的price
对象时添加Income
。
newItem = new Income(ID, des, val, price, ben);