Javascript 函数返回错误的值
我已经写了一个函数,它将使总的某个数字,并返回给我 下面是函数Javascript 函数返回错误的值,javascript,Javascript,我已经写了一个函数,它将使总的某个数字,并返回给我 下面是函数 function getTotal(val, total) { if (total.length > 1 || total == 0) { for (var i = 0; i < val.length; i++) { total = total + parseInt(val[i]) } }; if (('' + total).length
function getTotal(val, total) {
if (total.length > 1 || total == 0) {
for (var i = 0; i < val.length; i++) {
total = total + parseInt(val[i])
}
};
if (('' + total).length > 1) {
val = '' + total;
total = 0;
getTotal(val, total);
};
return total;
};
var finalTotal = getTotal('04151993', 0);
函数getTotal(val,total){
如果(total.length>1 | | total==0){
对于(变量i=0;i1){
val=''''+总计;
总数=0;
getTotal(val,total);
};
返回总数;
};
var finalTotal=getTotal('04151993',0);
例如val='04151993'
根据我的函数,它将运行两次,最后返回5
调试时,我可以看到总数为5,但当返回代码执行时,返回值为0
有什么想法吗?这是因为递归调用
getTotal
时没有返回。见:
函数getTotal(val,total){
如果(total.length>1 | | total==0){
对于(变量i=0;i1){
val=''''+总计;
总数=0;
return getTotal(val,total);//在此处返回
};
返回总数;
};
日志(getTotal('04151993',0))
您忽略了“inner”的返回值getTotal
。那么,var-total的目的是什么。。。;var val
哪些参数已经可用?val='04151993'
,但是什么是total
?total.length
?你通过的总数是多少<代码>'?您不应该使用总计。toString
?@user202729总计为0。更新。