前端理论总结(js)——闭包和内存泄漏

本文探讨了闭包的概念,强调了其封装变量、逻辑连续的优点,同时指出了内存泄漏的风险以及防止和减少内存泄漏的方法,包括及时释放资源和注意引用关系等。
摘要由CSDN通过智能技术生成

闭包

什么是闭包?

函数内部和函数外部连接起来的桥梁,可以在一个内层函数中访问到其外层函数的作用域

为什么要用

封装变量
收敛权限
临时变量持久化

优点

  1.保护函数内的变量安全    
 2.在内存中维持一个变量(用的太多就变成了缺点,占内存) ;    
 3. 逻辑连续,当闭包作为另一个函数调用的参数时,避免你脱离当前逻辑而单独编写额外逻辑。    
 4. 方便调用上下文的局部变量。    
 5. 加强封装性,可以达到对变量的保护作用。

缺点

1.常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。   
2.还有有一个非常严重的问题,那就是内存浪费问题,这个内存浪费不仅仅因为它常驻内存,更重要的是,对闭包的使用不当会造成无效内存的产生。 

内存泄漏

什么是内存泄漏?

本质上,内存泄漏可以定义为:应用程序不再需要占用内存的时候,由于某些原因,内存没有被操作系统或可用内存池回收。

阻止内存泄漏的方法

1. 及时释放不再使用的对象或资源
2. 避免创建循环引用
3. 注意闭包和事件监听器中的引用关系
4. 使用工具进行内存泄漏检测
5. 合理使用缓存和数据结构

减少内存泄漏的方法

1. 及时释放不再使用的对象或资源
2. 避免创建不必要的全局变量
3. 避免频繁创建大量临时对象
4. 使用合适的数据结构和算法
5. 定期进行内存泄漏排查和优化

ヾ( ̄▽ ̄)Bye~Bye~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值