"According to Microsoft, closures are the cause of memory leaks. This
is of course deeply wrong, but it leads to Microsoft giving very bad
advice to programmers on how to cope with Microsoft's bugs."

http://javascript.crockford.com/memory/leak.html

This article seems to be a lot more reasonable, so I don't think you
should be scared :)

On Dec 30, 10:27 pm, "Alexandre Plennevaux" <aplennev...@gmail.com>
wrote:
> wair, you're all scarrying me:
>
> i often do things like this:
>
> var datascape = new Object();
>
> datascape.el = $('#datascape');
> datascape.ini = function(){
>         datascape.el.click(function(){
>           dothis();
>           dothat();
>         });
>
> }
>
> is this pattern causing a potential memory leak problem, because the
> js object is linked to a DOM element?
>
> On Tue, Dec 30, 2008 at 10:10 PM, Kean <shenan...@gmail.com> wrote:
>
> > A good reason why closure is used
>
> >http://yuiblog.com/blog/2006/06/01/global-domination/
>
> > On Dec 30, 1:04 pm, Kean <shenan...@gmail.com> wrote:
> >> Klaus is right,
>
> >> Here's an article about closure causing 
> >> leakshttp://www.javascriptkit.com/javatutors/closuresleak/index.shtml
>
> >> On Dec 30, 4:38 am, "Alexandre Plennevaux" <aplennev...@gmail.com>
> >> wrote:
>
> >> > Klaus, you got me: frankly i have no "real" idea what is the purpose
> >> > of enclosure.
> >> > That's abstract art to me. i just read in several places that it's
> >> > good to use it, so i trust my sources, do it and move on. Not that i'm
> >> > proud of it, but, to use a metaphor, one does not need to know the
> >> > internals of a car in order to be able to drive it, although it surely
> >> > is a valuable knowledge if one wants to keep its car in a good state !
> >> > Yet, since the car changes every six months, it's just up to you,
> >> > wheather you're driven by the pure developer's passion or by consumer
> >> > pragmatism.
>
> >> > On Tue, Dec 30, 2008 at 1:28 PM, Klaus Hartl 
> >> > <klaus.ha...@googlemail.com> wrote:
>
> >> > > On 30 Dez., 08:45, "Alexandre Plennevaux" <aplennev...@gmail.com>
> >> > > wrote:
> >> > >> "JavaScript enclosures"?
>
> >> > >> i think it has to do with encapsulating your code inside a function so
> >> > >> that all vars are inside the function's scope, so not cluttering the
> >> > >> global namespace.
> >> > >> This, to avoid memory leak.
>
> >> > > Are you implying that global variables do leak memory? There are good
> >> > > reasons to not clutter the global namespace but I don't believe
> >> > > avoiding leaks is one of them.
>
> >> > > Actually you do increase the chance to create leaks in IE if you use
> >> > > closures under certain circumstances.
>
> >> > > --Klaus

Reply via email to