函数变量的值在返回后变为未定义

时间:2016-06-16 16:46:44

标签: javascript

我写了一个函数来找到9,99,999,9999中的数字...其中数字因子的总和(9!+ 9!代表99)小于数字本身:

function findLimit(starting_limit){
    var starting_limit_string = starting_limit.toString();
    var limit_factorial = factorial(9) * starting_limit_string.length;
    if(limit_factorial > starting_limit){
        var new_starting_limit = (starting_limit * 10) + 9;
        findLimit(new_starting_limit);
    } else {
        return starting_limit;
    }
}

var final_limit = findLimit(9);

但是,final_limit结果是未定义的。尽管如此,当我在"设置断点时返回starting_limit",starting_limit明确定义为9999999。

那么这里发生了什么?当我的函数返回时,为什么定义的值会更改为undefined?

1 个答案:

答案 0 :(得分:3)

你在这一行忘记了playerB

return