JavaScript 箭头函数用于计算调用时间,但不带任何参数

标签 javascript node.js function data-structures ecmascript-6

我收到一个挑战,要求创建一个函数(箭头函数)来计算它被调用或调用的次数。但是,这个函数不能接受任何参数或与外部作用域交互,就像下面的正常方式一样。

正常方式:

var count = 0;
var countTimesCalled = (count) => {
  count+=1;
  return count;
}

console.log(countTimesCalled(count))

是否可以创建一个不带任何参数且不与外部作用域交互的函数来计算它被调用的次数?在哪里存储运行时和运行后的时间(变量计数)?

请帮忙!

最佳答案

使用 IIFE 将 count 变量保存在本地范围内:

var countTimesCalled = (() => {
  var count = 0;
  return () => ++count;
})();
console.log(countTimesCalled());
console.log(countTimesCalled());
console.log(countTimesCalled());

关于JavaScript 箭头函数用于计算调用时间,但不带任何参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48953866/

相关文章:

javascript - Angularjs从数组中删除项目的方法

node.js - 什么是 npm 模块 spport Redis Sentinel 作为 session 存储

php - 我究竟做错了什么? (PHP + Mysql session )

javascript - 哪个维护: JavaScript function references or Boolean + IF conditions?效率更高

java - 避免多个函数调用?

javascript - 将字符串转换为一系列字符并添加值 - 不起作用

javascript - 循环对象并根据选项选择将值显示到列表中

javascript - 使用 Jquery 通过鼠标单击进行单选,通过 CTRL + 单击 div 内的图像进行多选

node.js - sequelize 中的一对多关系

node.js - 如果nodejs中给出了繁忙的时段,如何找到一天中的空闲时段