javascript的垃圾收集机制
什么是垃圾回收机制?
所谓的垃圾收集机制是指javascript具有的自动垃圾收集机制 就是执行环境会负责管理代码执行过程中使用的内存,在编写javascript时所需内存的分配以及
垃圾回收机制的原理
找出那些不再继续使用的变量,然后释放其占用的内存(垃圾收集器会按照固定的时间间隔,周期性的执行者一操作)
垃圾收集的方式-标记清除
当变量进入环境,就将这个变量标记为"进入环境"。从逻辑上讲,永远不能释放进入环境的变量所占用的内存,因为只要执行流进入相应的环境,就可能会用到他们。而当变量离开环境时,则将其标记为"离开环境"。
垃圾收集的方式-引用计数
跟踪记录每个值被引用的次数。当声明了一个变量并将一个引用类型值赋给该变量时,则这个值的引用次数就是1。如果同一个值又被赋给另一个变量,则该值的引用次数加一,相反,如果包含对这个值引用的变量又取得了另一个值,则这个值减1.当这个值的引用次数变成0时,则说明没有办法再访问这个值了,因而就可以将其占用的内存空间回收回来.这样垃圾收集器下次再运行时它就会释放那些引用次数为零的值所占用的内存
循环引用问题