gpt4 book ai didi

javascript - 这如何在递归中变成数字? JavaScript

转载 作者:行者123 更新时间:2023-12-02 15:11:04 25 4
gpt4 key购买 nike

我刚刚读了一本书,里面提到了递归,但我有点困惑。

我知道它在做什么,但只是其中一部分,我不明白它是如何完成的。

function power(base, exponent) {
if (exponent == 0)
return 1;
else
return base * power(base, exponent - 1);
}

console.log(power(2, 3));

else 语句中的 power(base, exponent - 1),它是如何变成一个数字以便 base 可以乘以它的?

附注对不起大家,我刚刚意识到即使给出了答案,我的标题可能与我想问的有点不同。我只是不确定这个递归是如何工作的,因为我一直想知道 base * power(base, exponent - 1) 是如何实现的,因为对于第一个循环,它会类似于 2* power(2, 3 - 1)power(2, 3 - 1) 不是数字。底数如何乘以它,但答案再次从视觉上向我展示了我只是没有正确地想象它。

最佳答案

else 语句中的 power(base, exponent - 1) 返回函数的结果,它是一个数字。

power(2, 3) 的详细阐述

这将返回 2*(2*(2*(1))) = 8

2 * (power(2,2))
2 * (2 * (power(2,1)))
2 * (2 * (2 * (power(2,0))))
2 * (2 * (2 * (1)))

关于javascript - 这如何在递归中变成数字? JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34799961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com