gpt4 book ai didi

javascript - 无法弄清楚为什么参数在 JS fibonacci 函数的递归过程中发生变化

转载 作者:行者123 更新时间:2023-12-01 01:21:53 25 4
gpt4 key购买 nike

目前正在学习JS。

无法弄清楚在递归过程中该函数“prev1”参数在什么时候以某种方式进行了修改?如果每次迭代中的“console.log(prev1)”实际上修改了“prev1”,尽管下面的代码似乎都没有更改此参数。请帮助我理解这件事。

        function fibonacci(n, prev1, prev2){
//console.log(prev1);
var current = prev1 + prev2;
var fibonacci_string = current + " ";

if(n > 1)
fibonacci_string += fibonacci(n - 1, current, prev1);
return fibonacci_string;

}
console.log(fibonacci(10, 1, 0));

console.log(prev1):

1
1
2
3
5
8
13
21
34
55

最佳答案

如果你看一下递归调用:

           fibonacci(n - 1, current, prev1)
// calls: ⬇️ ⬇️ ⬇️
function fibonacci(n, prev1, prev2)

您可以看到 prev1 获取了前一个 current 的值。

关于javascript - 无法弄清楚为什么参数在 JS fibonacci 函数的递归过程中发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54158874/

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