递归函数无递归提示

问题描述 投票:0回答:1

我试图在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);

}
javascript recursion
1个回答
0
投票

有两种方法可以解决这个问题,第一种是将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);
            }
    }
© www.soinside.com 2019 - 2024. All rights reserved.