为什么有这么多递归

Why too much recursion

本文关键字:递归 为什么      更新时间:2023-09-26

我试图理解为什么在这种情况下有太多的递归。我没有使用任何循环

function a(param1, param2) {
    function b(input1) {
        return input1 * 2;
    };
    function c(input2) {
        return input2 * 2;
    };    
    return a(param1) + b(param2);
};
document.write(a(1, 2));

a中,您的return语句再次调用a,因此将无限地这样做。你的意思可能是:

return b(param1)+c(param2);

函数a一直在调用自己。你的意思是调用函数c吗?

你在a内部调用a。这将继续堆积堆栈与函数调用自身。您没有为调用指定任何终止条件,因此递归会一直持续到内存耗尽。