您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

什么是JavaScript垃圾回收?

什么是JavaScript垃圾回收?

从该页面引用:

JScript使用了非世代的标记清除垃圾收集器。它是这样的:

每个“范围内”的变量都称为“清除剂”。清道夫可以指数字,对象,字符串等。我们维护一个清道夫列表- 变量进入作用域时将移入scav列表,超出范围时将其移出scav列表。

垃圾收集器不时地运行。首先,它在每个对象,变量,字符串等(GC跟踪的所有内存)上都打上“标记”。(JScript在内部使用VARIANT数据结构,并且该结构中有许多额外的未使用位,因此我们只设置其中一个即可。)

*其次,它清除了清除剂上的标记以及清除剂引用的可传递性关闭。因此,如果清除剂对象引用了非清除剂对象,则我们清除非清除剂及其所引用的所有内容上的位。(我使用“关闭”一词的含义与我以前的帖子中的含义不同。)

垃圾回收的主要目的是使程序员 不必 担心他们创建和使用的对象的内存管理,尽管当然有时并不能避免这种情况- 至少对垃圾回收的工作原理有个大概的了解总是有益的。

较早版本的答案对delete操作员的引用不正确。在JavaScript中,delete运算符从object移除属性,并且与deleteC / C ++ 完全不同。

javascript 2022/1/1 18:16:39 有473人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶