Javascript函数transfomr我的值未定义。我和我的老师确实理解为什么

时间:2018-06-19 08:34:26

标签: javascript function undefined

我今天在这,因为我(和我的老师)在javascript中不理解错误。

以下代码只是函数的一个因子(强制用函数执行)。但是在返回时我的值在undefined中被更改。



tests.py




我不明白为什么它会返回undefined。有人可以解释一下吗? 此外,如果函数只执行一次,该函数也可以工作。

提前谢谢。

1 个答案:

答案 0 :(得分:3)

您必须返回递归调用,否则facto的第一次调用将永远不会遇到return语句,从而导致第一次调用(默认情况下)返回undefined。更改为return facto(chiffre, fact);

var test;
do {
  var result = parseInt(prompt("Un chiffre supérieur à 1"));
} while (isNaN(result) || result < 2);
test = facto(result, 1);
console.log(test);

function facto(chiffre, fact) {
  fact = fact * chiffre;
  chiffre = chiffre - 1;
  if (chiffre == 1) {
    return fact;
  } else {
    return facto(chiffre, fact);
  }
}

相关问题