JS中垃圾回收机制
JavaScript具有自动垃圾回收机制,垃圾收集器会定期(周期性)找出那些不再继续使用的变量,然后释放其内存。那么,垃圾收集器是怎么找到不使用的变量呢?
JS中最常用的就是标记清除。当变量进入环境时,例如在函数中声明一个变量,就将这个变量标记为“进入环境”。此时的变量在函数执行中一直存在,直到函数结束后,将变量标记为“离开环境”,变量就被回收了。(JavaScript中的全局变量在浏览器页面卸载才会被销毁,因此为了提高效率,一旦数据不再使用,我们最好通过将其值设置为null来释放其引用,这个做法叫做解除引用。)
解除对象的引用和删除对象属性的方式:
var person={
name:'小华',
age:20
};
person=null; //解除对象的引用,释放内存
delete cat.name;//删除person对象的name属性