不是函数错误

时间:2017-10-17 07:32:30

标签: javascript

var newSalary = function(){
    var salary = 30000;
    function update (amount){
        salary += amount;
    }
    return {
        hike: function(){
            update (5000);
        },
        lower: function(){
            update (-5000);
        },
        current: function(){
            return salary;
        }
    }
}

console.log('current salary::'+newSalary.current()); 

获得:

  

newSalary.current不是函数。

代码中有什么问题?

5 个答案:

答案 0 :(得分:1)

您需要调用newSalary函数来获取具有current函数定义的对象:

console.log('current salary::' + newSalary().current());

答案 1 :(得分:1)

您需要将<Text style={{fontSize:15, color:'black'}}> {this.state.count[rowId]} </Text> 称为函数,并使用parantheses newSalary

()

这是一个工作片段:

console.log('current salary::' + newSalary().current());
                                          ▲

答案 2 :(得分:0)

你需要:

console.log('current salary::'+newSalary().current());

由于newSalary是一个函数,你必须添加()来调用它。

答案 3 :(得分:0)

您需要创建对象实例

var salary = new newSalary(); salary.current();

答案 4 :(得分:0)

为加息和降低功能添加“回报工资”:

var newSalary = function(){
    var salary = 30000;
    function update (amount){
        salary += amount;
    }
    return {
        hike: function(){
            update (5000);
            return salary;
        },
        lower: function(){
            update (-5000);
            return salary;
        },
        current: function(){
            return salary;
        }
    }
}

然后,您可以使用newSalary().hike();newSalary().lower();

来呼叫他们