Javascript 不是一个函数错误

Javascript 不是一个函数错误,javascript,Javascript,获取: newSalary.current不是函数 代码中有什么错误?您需要: var newSalary = function(){ var salary = 30000; function update (amount){ salary += amount; } return { hike: function(){ update (5000); }, lower: func

获取:

newSalary.current
不是函数

代码中有什么错误?

您需要:

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是一个函数,所以必须添加()来调用它

您需要创建对象的实例


var salary=新的newSalary();
工资。现职();

您需要调用
newSalary
函数,以获取具有
当前
函数定义的对象:

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

您需要调用
newSalary
作为函数,并使用parantises
()

下面是一个工作片段:

var newSalary=function(){
var工资=30000;
功能更新(金额){
工资+=金额;
}
返回{
hike:function(){
更新(5000);
},
下:函数(){
更新(-5000);
},
当前:函数(){
返回工资;
}
}
}
log('current salary::'+newSalary().current())在加息和下级功能中增加“返利工资”:

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

然后可以使用
newSalary().hike()调用它们
newSalary().lower()

这是家庭作业吗?这里有一个提示:您定义了一个返回对象的函数,但您没有该对象的实例。谢谢您的回答,它现在工作正常。
console.log('current salary::' + newSalary().current());
                                          ▲
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;
        }
    }
}