我注意到在VS2010 javascript intellisence中有一个名为CollectGarbage()的方法。什么是Javascript方法CollectGarbage()?何时以及为何要使用它?
这是一个IE浏览器的唯一方法吗?
什么时候应该使用它?
使用它有哪些优点(或缺点)?
我注意到在VS2010 javascript intellisence中有一个名为CollectGarbage()的方法。什么是Javascript方法CollectGarbage()?何时以及为何要使用它?
这是一个IE浏览器的唯一方法吗?
什么时候应该使用它?
使用它有哪些优点(或缺点)?
你可能想看看this post by Eric Lippert。
这是一个IE浏览器唯一的方法吗?
没有。它是JScript的一部分,所以实现JScript(当然包括IE)的任何东西都应该支持它。
什么时候应该使用它?
当你想提示垃圾回收器开始做它的工作。可以说,它不应该被使用,而是让事情发生在自己身上。
使用它有什么好处(或缺点)?
我不知道有什么缺点。在使用它之前,我会执行一些测试以查看内存使用情况是否有实际好处。
它是Microsoft JScript库的一部分。 documentation for it相当差。我不确定它是如何工作的,但我会假设它通过对象的成员来查看它可以删除的东西。
而且,正如bdukes提到的,这不应该在您的代码中调用。将其留给JScript库的内部工作。
请参阅他在文章开头所说的内容:本文应被视为“仅用于历史目的”;它并不反映JScript今天的工作方式。 (2003年写) – xus 2012-04-19 17:54:40
是的,这是在2006年与IE7发布的JScript 5.7中改变。 – 2012-04-28 03:57:06
它不能在Firefox中工作,所以我不知道它是否是一个标准 – xus 2012-04-19 11:37:30
就像我说的,它是JScript的一部分。 Firefox不实现JScript。它实现了JavaScript(+它自己的一套非标准扩展)。 – kangax 2012-04-19 13:48:23
根据维基百科,“JScript是微软在Microsoft Internet Explorer中使用的ECMAScript标准的方言”。所以我认为把它称为IE只是公平的。 – 2013-11-05 10:47:19