我注意到在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