Javascript: 闭包

Javascript 闭包

var add = (function () {
    var counter = 0;
    return function () {return counter += 1;}
})();

add()

add()

add()

counter值为3

正常局部变量活得不长。它们在函数调用时创建,在函数完成后被删除。

使用全局变量又不安全, 到处都可能变更这个全局变量, 可以使用闭包既让变量私有化, 又使变量在函数执行完后不会被销毁删除.

 

缺点占用内存, 根据程序回收机制被回收.

posted @ 2022-01-26 15:40  Nyan  阅读(19)  评论(0编辑  收藏  举报