【发布时间】:2019-05-16 07:43:12
【问题描述】:
下面的代码是一个destructured count 变量和increaseCount 更新函数。
当我执行 increaseCount 函数时,如何更新 count 变量的值?
这可能吗?
注意:我不希望 count 变量成为 全局 变量。
从下面的代码中,我尝试使用 Closures 来解决问题。但即使在第二个 console.log 之后,仍然会显示 1。
function getCount() {
let _count = 1;
const _updateCount = () => {
_count = _count + 1;
};
return [_count, _updateCount];
}
const [count, updateCount] = getCount();
console.log(count); /* <===== Expect initial count to be 1 */
updateCount();
console.log(count); /* <===== After calling updateCount I Expect count to be 2 */
我希望 count 在 first console.log 被调用时为 1。
当调用 updateCount 时,我希望 count 变量更新为 2。
因此,当调用第二个 console.log 时,我希望显示 2。
【问题讨论】:
标签: javascript function variables scope closures