我试图理解为什么在这种情况下会有太多的递归。我没有使用任何循环。
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));
答案 0 :(得分:5)
在a
return
语句中,a
语句再次调用return b(param1)+c(param2);
,因此会无限地执行此操作。你可能意味着:
{{1}}
答案 1 :(得分:2)
函数a不断调用自身。你的意思是调用函数c吗?
答案 2 :(得分:0)
你在打电话给内线。这将继续使用函数调用堆栈堆栈。 您没有为调用指定任何终止条件,因此递归将持续到内存不足。