首页 > 垃圾回收 > javascript如何进行垃圾回收?
2019
10-17

javascript如何进行垃圾回收?

  看js高级程序设计里说,几本上所有浏览器收集垃圾使用的都是标记清除的方法,IE里面的BOM,DOM采用的引用计数法。

  函数中的原生对象objectA,objectB在函数执行结束后,能不能被释放?

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部楼主问的这些,其实在javascript高级程序设计一书里已有详细说明了。我觉得需要纠正的是:

  1、并不是所有的浏览器使用的都是”引用计数“这种垃圾回收算法,貌似只有IE6/IE7/IE8在用,现代浏览器比如Chrome/Firefox/Opera使用的比较好的”标记清除“算法。

  2、并不是引用计数为0了,垃圾回收器就会立马回收,回收是会消耗一些性能,所以浏览器会在浏览器占用内存达到一定数值的时候,才会执行垃圾回收。当然可以通过强制调用方法执行。具体请看高程那边书

  3、执行玩problem方法后,objctA、objectB可以被回收,因为它们在函数内相互引用,而没有引用函数外的其他对象,或者函数外没有其他引用它们,所以函数执行完,会被释放的。


本文》有 0 条评论

留下一个回复