JavaScript垃圾回收机制

173 阅读1分钟

一.内存泄漏

程序运行需要内存,必须及时释放不在用到的内存,否则内存越来越高导致进程崩溃,没有及时释放的无用内存就叫内存泄漏。

二.垃圾回收机制

  1. 引用计数:语言引擎的‘引用表’保存了内存中所有资源的引用次数,如果一个资源的引用次数为0则表示此值不在被用到,可以进行内存释放;
  2. const arr = [1, 2, 3]

       上面代码,数组[1,2,3]是一个值,会占用内存,变量arr表示对这个值的引用,所以引           用次数为1,添加代码 arr=null可以释放内存;

   3.标记清除:当变量进入执行环境时标记为“进入环境”,不能被回收,当变量离开执行环境          时被标记为“离开环境”,可以被回收。

三.内存泄漏识别方法

  1. 连续五次垃圾回收之后,内存一次比一次大,就存在内存泄漏;
  2. 可以浏览器控制台查看