Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数返回错误的值_Javascript - Fatal编程技术网

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。更新。