博客 Javascript JavaScript哪些情况会导致内存泄漏?

JavaScript哪些情况会导致内存泄漏?

首先大家需了解的是什么是js内存泄露,在JS中内存泄漏是指程序中使用的内存,不再被需要却没有被释放,最终导致浏览器或者Node.js进程使用的内存越来越大,直到程序崩溃或者系统运行缓慢。

  • 意外的全局变量

由于使用未声明的变量,而意外的创建了一个全局变量,而使这个变量一直留在内存中无法被回收。


function memory_leak_demo(){
    name = 'dream'; // 这里name变量是一个意外的全局变量,因为前面没有var等修饰词声明
    console.log(name);
}
memory_leak_demo(); //执行到未声明的变量时,就会导致内存泄漏
  • 没有清理的DOM元素引用

获取一个 DOM 元素的引用,而后面这个元素被删除,由于一直保留了对这个元素的引用,所以它也无法被回收。

  • 定时器未清除

在JavaScript中使用setInterval()或setTimeout()函数时,必须确保在不需要它们时清除这些定时器。

  • 闭包

由于闭包会使得函数中的局部变量会被保存在内存中,内存的消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,解决方法是,在退出函数之前,将不使用的局部变量全部删除。

本文为梦想屋原创,未经本站授权请勿转载! 授权转载请注明出处:http://www.dreamwu.com/blog/article/pid-20604.html

发表评论

(快捷键:Ctrl+Enter 或 Alt+Enter)
匿名评论时,请补充填写以下信息:
*以下联系方式请至少填写一种:

评论列表(0)

联系我们

联系我们

QQ:2686930

在线咨询: QQ交谈

邮箱: dwu365@126.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

手机访问
手机扫一扫打开网站

手机扫一扫打开网站

返回顶部