每天一个前端知识(66):使用闭包存储私有数据

frontend

Posted by Tiny on July 30, 2017
function Counter() {
    // count信息只存在于函数的内部,外部无法直接访问
    var count = 0;
    return {
        getCount: function() {
            return count;
        },
        increment: function() {
            count++;
        },
        decrement: function() {
            count--;
        }
    }
}
var counter = Counter();
console.log(counter.getCount()); // 0
counter.increment();
counter.increment();
console.log(counter.getCount()); // 2
counter.decrement();
console.log(counter.getCount()); // 1

谨记

闭包的变量是私有的,只能通过局部的引用获取。

将局部变量作为私有数据从而通过方法实现信息隐藏。

参考资料:https://lee134134134.github.io/page/5/