函数没有返回足够的对象参数

时间:2018-01-19 18:04:13

标签: javascript function

我有一个我从其他代码修改过的函数,我很困惑。使用'否则如果'似乎收入' 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; 
};

1 个答案:

答案 0 :(得分:0)

如果要跟踪ben,可以将其添加到构造函数args。

var Income = function(id, description, value, price, ben){

在实例化新的price对象时添加Income

newItem = new Income(ID, des, val, price, ben);