关于javascript垃圾回收机制

来源:互联网 发布:stc89c52单片机资料 编辑:程序博客网 时间:2024/04/26 18:50

javascript中最常见的垃圾收集方式是标记清除
看完书我的理解是,当垃圾收集器运行时,会给内存中所有变量加上标记,然后对每个环境检查环境中的变量 ,以及环境中的变量引用的变量去掉标记,接着删除掉还有标记的变量,这样实现了垃圾回收。
另外由于浏览器可用的内存空间比较少(这样的目的是为了方式运行javascript的网页耗尽所有内存导致崩溃),因此一般当某些变量不再使用时,我们需要进行解除引用(dereferencing)。比如

function createPerson(name){    var localPerson = new Object();    localPerson.name = name;    return localPerson;}var globalPerson = createPerson("Nicolas");//手工解除引用globalPerson = null;

localPerson不需要解引用,因为在函数执行完之后就脱离了它的执行环境,因此不需要我们再去显示的解除引用。

0 0