闭包
封闭的空间+函数和外部变量,包裹在一起
闭包导致的现象:该销毁的变量没有被销毁
广义闭包:在JS中每当生成函数,就会生成闭包
狭义闭包:
函数套函数
内部函数访问外部函数的自由变量
内部函数被调用
广义上讲闭包就是内存泄漏;狭义上闭包就是用完忘记回收清理的
闭包的作用
1.模块化开发:防止命名污染
2.共享变量
3.做缓存
4.私有化变量
优点:扩大变量作用范围,延长变量作用时间,减少了命名污染
缺点:浪费内存导致内存泄漏
闭包
封闭的空间+函数和外部变量,包裹在一起
闭包导致的现象:该销毁的变量没有被销毁
广义闭包:在JS中每当生成函数,就会生成闭包
狭义闭包:
函数套函数
内部函数访问外部函数的自由变量
内部函数被调用
广义上讲闭包就是内存泄漏;狭义上闭包就是用完忘记回收清理的
闭包的作用
1.模块化开发:防止命名污染
2.共享变量
3.做缓存
4.私有化变量
优点:扩大变量作用范围,延长变量作用时间,减少了命名污染
缺点:浪费内存导致内存泄漏