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

闭包

什么是闭包?

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

为什么要用

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

优点

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

缺点

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

内存泄漏

什么是内存泄漏?

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

阻止内存泄漏的方法

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

减少内存泄漏的方法

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

ヾ( ̄▽ ̄)Bye~Bye~

相关推荐

  1. 前端理论总结js)——内存泄漏

    2024-03-28 00:22:01       19 阅读
  2. 记一个导致的内存泄漏问题

    2024-03-28 00:22:01       10 阅读
  3. Vue js

    2024-03-28 00:22:01       12 阅读
  4. 前端开发中可能出现内存泄漏的情况总结

    2024-03-28 00:22:01       10 阅读
  5. 如何理解

    2024-03-28 00:22:01       21 阅读
  6. js的问题)

    2024-03-28 00:22:01       34 阅读
  7. iOS 内存泄漏问题总结

    2024-03-28 00:22:01       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-28 00:22:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-28 00:22:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-28 00:22:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-28 00:22:01       18 阅读

热门阅读

  1. 关于远程调试应用中的网页鸿蒙

    2024-03-28 00:22:01       18 阅读
  2. 面试算法-118-用队列实现栈

    2024-03-28 00:22:01       19 阅读
  3. [c++] 自写 MyString 类

    2024-03-28 00:22:01       19 阅读
  4. ShardingSphere对国产数据库的支持

    2024-03-28 00:22:01       18 阅读
  5. 《装饰器模式(极简c++)》

    2024-03-28 00:22:01       17 阅读
  6. LCR 001. 两数相除

    2024-03-28 00:22:01       16 阅读
  7. 大话设计模式之简单工厂模式

    2024-03-28 00:22:01       21 阅读
  8. ETH 智能合约&Gas文章整理

    2024-03-28 00:22:01       19 阅读