我知道这个问题有一个快速的单行答案,但是我无法围绕如何正确使用属性来使此箭头函数自成一体。它只是一个计算被调用次数的函数。一些帮助,将不胜感激。
const countTimes = () => {
countTimes.count = countTimes.count + 1;
return countTimes.count;
};
countTimes.count = 0;
答案 0 :(得分:3)
该函数体仅在执行期间存在,并且每次调用该函数时均从新函数开始。如果要在函数调用之间保留数据,则必须必须将数据存储在函数主体之外(作为对象的属性,封闭变量,全局变量或其他内容)。
答案 1 :(得分:2)
也许使用closure:
function countTimes() {
let count = 0;
return function() {
return ++count;
}
};
const count = countTimes();
console.log(count());
console.log(count());
console.log(count());