【发布时间】:2020-10-10 22:22:12
【问题描述】:
请有人给我解释一下
function func(x, n) {
if (n == 1) {
return x;
} else {
return x * func(x, n - 1);
}
}
console.log(func(2, 4)); // 16
怎么回答是 16
除此之外我无法理解 当 if 为 false 时,它会去 else 在返回部分函数调用本身 在第一个输入处与 x 的值相同,即 2 在第二个输入是 n - 1 当函数再次运行时,x 的值保持与 2 相同,n 的值变为 3 如果为假,则意味着 3 次 如果为真并且执行循环结束并在警报中显示答案,则在 4 次中 我无法弄清楚每次运行乘以 x 的数字,或者答案应该与 2 相同 因为每次执行函数时,x的值不应该等于2吗?
【问题讨论】:
标签: javascript call func