> > If we recast our example to use a named function for the handler: > > function init() { > var container; > > container = $('container'); > hookUpHideables(container); > container.show(); > > function hookUpHideables(p) { > p.select('.hideable').invoke('observe', 'click', hideableClick); > } > } > > function hideableClick(evt) { > this.hide(); > } > > ...no closures have outstanding references at the end of init(), and > the chain is eligible for GC. >
That's true, but your example does not use .bind(), therefore I don't really see how it pertains to the discussion. When you .bind(), you are passing the the function to bind, along with it's context and all that goes with that... so I really can't see how it's any better than inlining, except just on a pure convenience level. Keep in mind we're talking about cases where you need to "correct" the scope of the bound function so that "this" is your class's object instance. Your example here is a completely different scenario where the developer doesn't care that "this" is the element itself. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Prototype & script.aculo.us" group. To post to this group, send email to prototype-scriptaculous@googlegroups.com To unsubscribe from this group, send email to prototype-scriptaculous+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en -~----------~----~----~----~------~----~------~--~---