从函数中返回if语句给出undefined

时间:2017-02-15 22:40:26

标签: javascript if-statement recursion

我的假设是,if语句的第一部分中的返回会破坏函数并返回n,但是它会继续给出undefined。如果我控制台.log它给了我正确的东西。我错过了什么?

谢谢大家

 function digital_root(n) {
   if(n.toString().length === 1){
    console.log(n)
    return true;
  }else{
    var digits = (""+n).split("");
    thing = digits.reduce((a, b) => Number(a) + Number(b), 0);
    digital_root(thing)
  }
}

digital_root(942)

1 个答案:

答案 0 :(得分:0)

您不会在递归中返回,这意味着它将返回undefined。

return digital_root(thing)