我试图在javascript中调用递归阶乘函数,但提示一直持续。
function recursiveFactorial() {
var a = parseInt(prompt("Enter a Number: "));
if (a === 0) {
return 1;
} else {
facValue = (a * recursiveFactorial(a - 1));
}
alert("The factorial of " + a + " is: " + facValue);
}
有两种方法可以解决这个问题,第一种是将prompt和facValue移到递归函数之外,第二种是将prompt和facValue设置为递归函数的参数,下面我展示第二种,
function recursiveFactorial(a = parseInt(prompt("Enter a Number: ")),facValue =1) {
if (a === 0) {
alert("The factorial of " + a + " is: " + facValue);
} else {
recursiveFactorial(a - 1,a * facValue);
}
}