计数器的设置和减少
重要性:5
修改 makeCounter() 的代码,使计数器也可以减少和设置数字
counter()应该返回下一个数字(和以前一样)。counter.set(value)应该将计数器设置为value。counter.decrease()应该将计数器减少 1。
查看沙盒代码以获取完整的用法示例。
附注:您可以使用闭包或函数属性来保存当前计数。或者写出两种变体。
该解决方案在局部变量中使用count,但加法方法直接写入counter。它们共享相同的外部词法环境,也可以访问当前的count。
function makeCounter() {
let count = 0;
function counter() {
return count++;
}
counter.set = value => count = value;
counter.decrease = () => count--;
return counter;
}