Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the Javascript method CollectGarbage()? When and why should it be used?

I notice in the VS2010 javascript intellisence there is a method called CollectGarbage().

Is this an IE only method?
When should it be used?
What are the advantages (or disadvantages) to using it?

like image 1000
Kenneth J Avatar asked Oct 23 '09 16:10

Kenneth J


2 Answers

You might want to take a look at this post by Eric Lippert.

Is this an IE only method?

Nope. It's part of JScript, so anything that implements JScript (including IE, of course) should support it.

When should it be used?

When you want to hint garbage collector to start doing its job. Arguably, it shouldn't be used at all, and instead just let things happen on their own.

What are the advantages (or disadvantages) to using it?

I'm not aware of any disadvantages. Before using it, I would perform some tests to see if there are actual benefits in memory usage.

like image 98
kangax Avatar answered Oct 23 '22 06:10

kangax


It's part of the Microsoft JScript library. The documentation for it is pretty poor. I'm not sure how it works, but I would assume that it looks through the members of an object for things that it can delete.

And, as bdukes mentioned, this should not be called in your code. Leave it to the inner workings of the JScript library.

like image 27
EndangeredMassa Avatar answered Oct 23 '22 06:10

EndangeredMassa