gpt4 book ai didi

javascript - JavaScript 中的基本公共(public)/私有(private)函数结构

转载 作者:行者123 更新时间:2023-11-30 08:03:57 24 4
gpt4 key购买 nike

我是 JavaScript 新手。我想使用两个函数实现递归:一个是公共(public)函数,另一个是私有(private)函数。

在 Java 中,我总是这样实现递归

public int sumOfPrevious(int n){
return addNumbers(n);
}

private int addNumbers(int n){
if (n == 1)
return 1;
else
return n + addNumbers(n-1);
}

然后调用 System.out.println(sumOfPrevious(5)) 返回 15

但是如何在 JavaScript 中实现类似的东西呢?

我试过这个:

function sumOfPrevious(n){
return function privateFunc(n){
if (n == 1)
return 1;
else
return n + privateFunc(n - 1);
};
}

但是调用 console.log(sumOfPrevious(5)) 只会给我 [Function: privateFunc]

为什么会这样,我该如何解决?

最佳答案

您需要声明嵌套函数然后使用它,而不是返回嵌套函数。

function sumOfPrevious(n){
function privateFunc(n){
if (n == 1)
return 1;
else
return n + privateFunc(n - 1);
}
return privateFunc(n);
}

关于javascript - JavaScript 中的基本公共(public)/私有(private)函数结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21357264/

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