javascript - 为什么 (_=1)=>$=>_++ 是一个计数器

标签 javascript

一位 friend 在 Javascript 工作面试中遇到了这个问题:

解释一下这个计数器是如何工作的(换句话说,什么是非最小化版本)

    let Counter = (_=1)=>$=>_++
    let c1 = Counter()
    console.log(c1()) //1
    console.log(c1()) //2

最佳答案

这与

相同
const Counter = function(counter = 1) {
  return function count() {
    return counter++;
  };
}

所以基本上,当您调用 Counter() 时,它会以 1 作为默认值封装 counter ,并且每次您调用由它返回计数器值并将其增加 1

关于javascript - 为什么 (_=1)=>$=>_++ 是一个计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52768382/

相关文章:

javascript - Node.js 中的网页抓取/解析来检测 HTML 页面的语言?

javascript - 如何解析存储在数组中的数据

javascript - 带 ion-tabs 的 ionic3 页脚

javascript - 在 For 循环中使用选定的选项值

javascript - 来自对象数组的 React redux 计数器示例

javascript - 单击 <img> 切换 Div 类

javascript - getElementById 返回空值

javascript - Polymer -> 类似于绑定(bind)中的 WPF/SL DataContext 的概念

javascript - Spotify 应用程序 API : Creating a player of top tracks from an artist

javascript - 需要帮助将 jQuery 函数转换为 JavaScript?