js没有私有变量的概念,但是我们可以用闭包来模拟私有变量。
看一道面试题叭:
实现一个计数器,不依赖于外部变量。每次执行打印一个加1的数字。
function count() {
let num = 0;
function add() {
num++;
return num;
}
function reset() {
num = 0;
return num
}
return {
add,
reset
}
}
let { add, reset } = count()
console.log(add());
console.log(add());
console.log(reset());
console.log(add());
console.log(add());
打印结果
通过return函数,再析构出具体的函数。这样就只能用该函数调用闭包中的变量了。
记录记录!