计数器的设置和减少
重要性: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;
}