【问题标题】:What is the Javascript method CollectGarbage()? When and why should it be used?什么是 Javascript 方法 CollectGarbage()?何时以及为什么应该使用它?
【发布时间】:2009-10-23 16:49:05
【问题描述】:

我注意到在 VS2010 javascript 智能中有一个名为 CollectGarbage() 的方法。

这是仅限 IE 的方法吗?
什么时候使用?
使用它有什么优点(或缺点)?

【问题讨论】:

    标签: javascript jscript


    【解决方案1】:

    您可能想看看this post by Eric Lippert

    这是一个仅限 IE 的方法吗?

    不。它是 JScript 的一部分,所以任何实现 JScript(当然包括 IE)的东西都应该支持它。

    什么时候使用?

    当您想提示垃圾收集器开始执行其工作时。可以说,它根本不应该被使用,而是让事情自己发生。

    使用它有哪些优点(或缺点)?

    我不知道有什么缺点。在使用它之前,我会进行一些测试,看看在内存使用方面是否有实际的好处。

    【讨论】:

    • 它在firefox中不起作用,所以我不确定它是否是标准的
    • 就像我说的,它是 JScript 的一部分。 Firefox 没有实现 JScript。它实现了 JavaScript(+ 它自己的一组非标准扩展)。
    • 根据维基百科“JScript 是微软在微软的 Internet Explorer 中使用的 ECMAScript 标准的方言”。所以我想称它为 IE-only 是公平的。
    【解决方案2】:

    它是 Microsoft JScript 库的一部分。 documentation for it 很差。我不确定它是如何工作的,但我会假设它会通过对象的成员查找可以删除的内容。

    而且,正如 bdukes 所提到的,这不应该在您的代码中调用。把它留给 JScript 库的内部工作。

    【讨论】:

    • 此外,文档指出它“不打算直接从您的代码中使用”。因此,要回答原始问题,请不要使用它。
    • /golfclap 在 MS 扩展废话再次
    【解决方案3】:

    【讨论】:

    • 看看他在文章开头怎么说:本文应被视为“仅用于历史目的”;它并不能反映 JScript 今天是如何工作的。 (写于 2003 年)
    • 是的,这在 2006 年与 IE7 一起发布的 JScript 5.7 中进行了更改。
    猜你喜欢
    • 2018-09-17
    • 1970-01-01
    • 2014-11-02
    • 2010-12-10
    • 2021-11-07
    • 2013-08-11
    • 2011-08-20
    • 2010-12-07
    • 1970-01-01
    相关资源
    最近更新 更多