[js] 造成内存泄漏的操作有哪些?

haizhilin2013
2019-05-18 04:33:08 星期六
js
                    
                        
造成内存泄漏的操作有哪些?
Comments per page
< Page 1 / 2 >
wenyejie 2019-05-31 02:18:48

以前使用"引用计数"的时候, 还挺多的,
现在都使用"标记清除"好很多了
最起码循环引用之类的, 不会再内存泄漏了

我觉得比较可能的是, 创建了时间循环, setInterval, 但是没有没有释放掉, 这个比较容易造成内存泄漏

myprelude 2019-06-13 07:26:26
  • 死循环
  • 过度递归
  • 对页面中的一些 副作用没有清除
yuqingc 2019-07-01 11:27:53

递归,循环引用,闭包

cyj1209 2019-09-13 01:37:29

现在的GC好像是越来越牛逼了,有时候感觉无效的闭包都能被回收掉(还没有做过测试)
1 闭包
2 无效的全局变量
3 addEventListener
4 setInterval
5 还有一种是递归的时候不用尾调用优化,如果层级比较深的话会造成内存消耗激增,有时候还会崩,但是只要递归完成了这些内存是会被释放的。

blueRoach 2020-07-01 02:34:55
  • 在低版本IE使用闭包时,如果没有把声明的对象销毁就会一直存在内存中
  • 递归
  • 定时器,没有clear的情况
bozaigao 2020-10-04 16:26:39

GC回收有两种实现方式:标记清除、引用计数
1、没有使用的全局变量;
2、闭包(闭包可以维持函数内部变量);
3、循环引用(引用计数不为0);
4、setInterval没有被清除;

smile-2008 2020-10-10 07:00:28

死循环
过度递归
对页面中的一些 副作用没有清除

HNHED 2021-09-04 11:24:46

闭包
意外的全局变量
被遗忘的定时器
脱离dom的引用

github-cxtan 2022-02-23 07:25:07
  1. 递归
  2. 闭包
  3. 死循环
xiaoqiangz 2022-05-31 02:30:08

闭包、死循环、定时器。

Comments per page
< Page 1 / 2 >

学习不打烊,充电加油只为遇到更好的自己,365天无节假日,每天早上5点纯手工发布前端知识点(死磕自己,愉悦大家)。希望大家在这浮夸的前端圈里,保持冷静,坚持每天花20分钟来学习与思考。在这千变万化,类库层出不穷的前端,建议大家不要等到找工作时,才狂刷题,提倡每日学习!欢迎大家关注3+1开源项目!希望大家每人去学习与思考!(不要为了谁而来,要为自己而努力!

【关注官方公众号】 每天4:30-5:00推送
【公众号推荐】 一起折腾前端算法
【微信学习群】 备注3+1