我在下面的代码中遇到了一个未定义值的问题,我和我的同事都无法解释:
function reverseFactorial(num) {
function reverse(altNum, fac){
console.log(altNum + ', ' + fac);
if ((altNum / fac) === 1)
{
console.log(fac.toString() + '!');
return fac.toString() + '!';
}
else {
reverse(altNum / fac, fac + 1);
}
}
var ret = reverse(num, 1);
console.log(ret);
return ret;
}
示例输入可以是:reverseFactorial(120)
。
然后日志会显示:
120,1
120,2
60,3
20,4
5,5
5!
未定义
答案 0 :(得分:0)
reverse
函数并不总是返回值:else {
大小写没有返回语句。
您可能指的是return reverse(altNum / fac, fac + 1);
区块中的else
。