[英]Unexplained undefined value on return
我在下面的代码中有一个未定义值的问题,我和我的任何同事都无法解释:
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!
未定义
reverse
函数并不总是返回值: else {
case没有return语句。
您可能打算return reverse(altNum / fac, fac + 1);
在else
块中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.