Javascript 使用闭包有困难吗

Javascript 使用闭包有困难吗,javascript,closures,Javascript,Closures,我在使用闭包查找每次调用的平均输出时遇到问题 如果参数未定义,则仅当第一次调用未定义时才将其设置为0。如果传递了数字,则返回输出的平均值 函数平均值(){ 设和=0; 让计数=0; 返回函数(num){ 让增量=计数++ 让平均值; if(typeof num==“number”){ sum+=num; //平均值=总和/增量 } 回报金额; } } ///***取消这些注释以检查您的工作***/ 常数avgSoFar=平均值(); console.log(avgSoFar());//=>应

我在使用闭包查找每次调用的平均输出时遇到问题

如果参数未定义,则仅当第一次调用未定义时才将其设置为0。如果传递了数字,则返回输出的平均值

函数平均值(){
设和=0;
让计数=0;
返回函数(num){
让增量=计数++
让平均值;
if(typeof num==“number”){
sum+=num;
//平均值=总和/增量
} 
回报金额;
}
}
///***取消这些注释以检查您的工作***/
常数avgSoFar=平均值();
console.log(avgSoFar());//=>应记录0
console.log(avgSoFar(4));//=>应该记录4
console.log(avgSoFar(8));//=>应该记录6
console.log(avgSoFar());//=>应该记录6
console.log(avgSoFar(12));//=>应该记录8

console.log(avgSoFar());//=>如果日志为8,则每次调用函数时需要将计数增加1,并将总和除以计数以获得平均值

函数平均值(){
设和=0;
让计数=0;
返回函数(num){
if(typeof num==“number”){
sum+=num;
计数++;
} 
返回计数!=0?总和/计数:0;
}
}
///***取消这些注释以检查您的工作***/
常数avgSoFar=平均值();
console.log(avgSoFar());//=>应记录0
console.log(avgSoFar(4));//=>应该记录4
console.log(avgSoFar(8));//=>应该记录6
console.log(avgSoFar());//=>应该记录6
console.log(avgSoFar(12));//=>应该记录8

console.log(avgSoFar());//=>应该记录8
我的道歉。不过我很感谢你的帮助。