設定和減少計數器
重要性: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;
}