闭包

闭包就是一个函数引用另一个函数的变量,因为变量被引用着所以不会被回收,因此可以用来封装一个私有变量。

这是优点也是缺点,不必要的闭包只会增加内存消耗。

或者说闭包就是子函数可以使用父函数的局部变量,还有父函数的参数。

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

add()add()add()// 结果为 3

 

闭包是可访问上一层函数作用域里变量的函数,即便上一层函数已经关闭。

posted @ 2017-12-14 10:08  2350305682  阅读(161)  评论(0编辑  收藏  举报