是否可以检索匿名JavaScript对象?

时间:2011-06-21 14:36:06

标签: javascript

例如,我有这段代码:

{a: 42}  

执行此行之后,我认为对象以某种方式存储在内存中,我想知道如何以一种棘手的方式获取它?

3 个答案:

答案 0 :(得分:4)

没有

你不能这样做。

任何体面的js解释器都会用垃圾收集器销毁它。

答案 1 :(得分:1)

否:一旦你丢失了对某个对象的所有引用,你就无法恢复它,GC也会收集它。

答案 2 :(得分:1)

否。

匿名对象打算以这种方式工作。如果以后需要检索对象,则只需命名即可。 (我假设你出于好奇而不是出于好意而问这个问题。)

一旦对象没有对它的引用,垃圾收集器应该销毁该对象,如this page确认的那样:

  

ECMAScript使用自动垃圾   采集。规范没有   定义细节,留下来   实施者要整理出来,还有一些   已知实现给出了一个   他们的垃圾优先级很低   收集业务。但一般   想法是,如果一个对象成为   不可接受的(没有剩余的   它的引用可以访问   执行代码)它变得可用   垃圾收集,将在   未来的一些观点将被摧毁   它消耗的资源被释放了   返回系统重新使用。

     

通常就是这种情况   退出执行上下文。该   范围链结构,   激活/变量对象和任何   在执行中创建的对象   上下文,包括函数对象,   将不再可访问等等   会变成垃圾   集合。