Just a nitpick. Don't do this var datascape = new Object(); var datascape2 = new Array();
Instead var datascape = {}; var datascape2 = []; On Dec 30, 1: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