JS如何实现一个方法内自增变量?

发布于 2022-09-11 20:08:53 字数 270 浏览 16 评论 0

代码
const fun1 = () => {
 // 这里有一些我不会写的代码
 return fun2()
}

const fun2 = (val) => {
   return val
}

fun1(); // 这里输出1
fun1(); // 这里输出2
fun1(); // 这里输出3
// ...

请问 fun1 里面应该怎么写?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

权谋诡计 2022-09-18 20:08:53
function fun1 () {
 var num = 0;
 return function () {
  num++;
  console.log(num);
 }
}
const fun2 = fun1();
fun2(); // 这里输出1
fun2(); // 这里输出2
fun2(); // 这里输出3

使用闭包的形式就可以实现

尸血腥色 2022-09-18 20:08:53
const fun1 = () => {
    fun1.count = fun1.count || 0;
    fun1.count++;
    
    return fun2(fun1.count);
}

这样?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文