当前位置:首页 > 内存 > 正文

js导致内存泄露的几种问题(怎么解决闭包的内存泄露)

  • 内存
  • 2024-06-11 22:18:12
  • 7740

一、javascriptsetTimeout递归会造成内存泄漏吗前端开发,热爱生活
varcall=function(x){
(x++);
setTimeout(function(){call(x);},1);call(0);
此代码
示例已退出。并且可以在chromeDevTool中模拟垃圾回收的结果:
可以看到jsheap在增加。
但是控制台仍然在运行。内存泄漏。但控制台仍然在运行,这实际上是内存泄漏。
如果内存有规律地增长,泄漏最终会导致浏览器变慢或停止运行脚本。对于性能优化来说,这是需要提前做好的事情。我认为如果循环执行的代码包含一个大的新数组(1000000),那将是非常危险的。加入('*')。
一般来说,setTimeout是在做递归轮询,需要一个结束条件和Timeout执行。