闭包就是可以访问(读取)其它函数内部变量的函数。
所谓闭包就是函数内部有子(内层)函数,子(内层)函数可以访问父(外层)函数的变量,子(内层)函数常常作为父(外层)函数的返回值,这就是闭包
一、闭包作用:
1,可以访问局部变量
2,保持变量始终在内存中
二、优点:
缓存数据
实现面型对象的对象
匿名自执行函数
实现封装,防止变量跑到外部函数发生冲突
a.闭包就是能够读取其他函数内部变量的函数。
b.保持变量在内存中,不会被函数调用后清除。
三、缺点:
闭包内部优先级高于外部,查找时会慢一点消耗内存,用的时候需谨慎,内存浪费
(处理:可以设置一setTimeout释放内存就是比如你一天用这个他就会垃圾引用回收)导致内存泄露
四、闭包语句的特点
1,函数可以作为参数传递。
2,函数可以赋值给变量(改变了函数的指针)
3,函数可以作为返回值
五、解决闭包的内存泄漏:
1、少用闭包;
2、手动清空(也就是说我声明一个方法函数,让变量等于null,最后在执行后调用那个方法)
网友评论