最近接触js不多,所以忘记了很多东西,现在碰到一个看似微不足道的任务。
函数的主体应该是什么,以便输出与代码中的注释相同
var summator = function(val) {
//
};
console.log(summator(1)); // 1
console.log(summator(5)); // 6
console.log(summator(3)); // 9
直到我做出一个相当集体农场的决定
var summator = function(val) {
if (typeof summator.sum === 'undefined')
summator.sum = 0;
summator.sum += val;
return summator.sum;
};
如何写闭包?
您需要以某种方式分配一个用于存储金额的累加器。正如您正确写的那样,这是通过闭包完成的 - 使用中间匿名函数,将在其中创建累加器
使用 ES6,这可以减少到一行