您的位置:首页 > Web前端 > JavaScript

JS垃圾回收机制

2017-08-19 22:44 369 查看
参考书籍《JavaScript高级程序设计》

JS具有自动垃圾收集机制,执行环境会负责管理代码执行过程中使用的内存。

1、标记清除

当变量进入执行环境时,会对该变量进行标记,当变量离开环境时,会修改标记。垃圾收集器会对正在使用的变量去掉标记,清除掉有标记的变量的内存。差不多是这样的,不过只是一个很模糊的过程,具体如何标记,怎么标记要清除的变量,这是一个问题。

2、引用计数

这个应该还比较好理解。

引用计数的含义是:跟踪记录每个值被引用的次数。

当引用次数为0时,代表没有办法访问这个值。垃圾收集器下次运行时,就可以清除引用次数为0的值的内存。不过存在循环引用的问题,那么这个值的引用次数不为0。

function problem(){

var a = new Object();

var b = new Object();

a.someOtherobject = b;

b.anotherObject = a;

}//程序来自《JavaScript高级程序设计》没用IDE 我也不知道打错没

//。。。。意思差不多就是这个

a b 引用次数不会为0 。。。因此不会被回收。

差不多就这样,后面想到再补。。。不对的地方敬请指教。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript 内存