js闭包

什么是闭包

(1)闭包就是能够读取其他函数内部变量的函数。在本质上,闭包就

是将函数内部和函数外部连接起来的一座桥梁。

(2)闭包可以用在许多地方。它的最大用处有两个,一个是可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中

闭包的特性

①.封闭性:外界无法访问闭包内部的数据,如果在闭包内声明变量,外界是无法访问的,除非闭包主动向外界提供访问接口;

②.持久性:一般的函数,调用完毕之后,系统自动注销函数,而对于闭包来说,在外部函数被调用之后,闭包结构依然保存在系统中,闭包中的数据依然存在,从而实现对数据的持久使用。

闭包的缺点就是常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。

var add = (function () {
    var counter = 0;
    return function () {return counter += 1;}
})();
console.log(add());  // 1
console.log(add()); // 2
console.log(add()); // 3

 

 

posted @ 2019-05-21 12:57  GJH-  阅读(86)  评论(0)    收藏  举报