闭包
闭包他是一种特殊的对象,他由两部分构成:函数,及创建函数的环境.
闭包我们可以理解为:将函数内部和外部函数链接起来的桥梁.
闭包的解释:函数嵌套函数,内部的函数调用外部函数的变量或者参数,
封闭性:外界无法访问闭包内部的数据,如果在闭包内声明变量,外界是无法访问的,除非闭包主动向外界提供访问接口;
持久性:一般的函数,调用完毕之后,系统自动注销函数,而对于闭包来说,在外部函数被调用之后,闭包结构依然保存在;
优点:
1)防止全局污染
2)内部的函数可以用外部的变量或参数
3)内部的变量不会被垃圾回收机制回收
特性:
1)闭包可以更新外部的变量的值
2)用闭包可以模拟私有方法
缺点:
1)由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,
所以不能滥用闭包,否则会造成页面性能的问题;
2)闭包和全局变量一样,如果大量使用可能会造成内存泄漏.