标记清除是javascript中最常用的垃圾回收方法。
实现方法
1、当变量进入执行环境时,标记为进入环境。
2、从逻辑上讲,进入环境的变量占用的内存永远无法释放,因为只要执行流进入相应的环境,就有可能使用。
当变量离开环境时,它被标记为离开环境。
垃圾收集器运行时,会标记存储在内存中的所有变量。然后,它将去除环境中的变量和被环境中的变量引用的标记。之后添加标记的变量将被视为准备删除的变量,因为环境中的变量无法访问这些变量。最终。垃圾收集器完成内存清除,销毁标记值,回收占用的内存空间。
实例
var m = 0,n = 19 // 把 m,n,add() 标记为进入环境。 add(m, n) // 把 a, b, c标记为进入环境。 console.log(n) // a,b,c标记为离开环境,等待垃圾回收。 function add(a, b) { a++ var c = a + b return c }
以上就是javascript标记清除的实现,希望对大家有所帮助。更多Javascript学习指路:
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。