While the topic of IE and NFEs is being discussed (accidentally?), does
anyone know if this bug is fixed in IE9?

Thanks!

_Nick_



On Thu, Jan 6, 2011 at 10:00 AM, kangax <kan...@gmail.com> wrote:

> On Jan 5, 4:27 pm, "Kyle Simpson" <get...@gmail.com> wrote:
> > ?> There's a little more to it.
> >
> > > IE<9 actually creates 2 function objects when parsing NFE; not just
> leaks
> > > identifier to the enclosing scope. It might seem irrelevant at first,
> but
> > > if you consider that something like `var f = function g(){ ... } ` will
> > > result in creation of 2 distinct function objects bound to `f` and `g`,
> > > it's easy to imagine how this could lead to all kinds of lovely bugs
> (e.g.
> > > when assigning to a property of function object; and having that
> property
> > > on `f` but not `g`, or vice versa).
> >
> > In addition, the leakage of that extra identifier is a memory leak in IE
> <=
> > 8. If you create a lot of those NFE's like that, you'll leak a noticeable
> > amount of memory in IE.
> >
> > John David-Dalton suggested this pattern (I believe) which clears up the
> > memory leakage:
> >
> > var abc = function def() { ... };
> > ...
> > // later, to make sure the memory is fully cleaned up:
> > abc = def = null;
> >
> > But the fact that this was an issue all the way up through IE8 points out
> > that NFE's are not a complete cure-all for losing arguments.callee,
> because
> > they come with some unfortunate baggage in IE.
>
> Did you send this to a wrong mailing list? :)
>
> --
> kangax
>
> --
> To view archived discussions from the original JSMentors Mailman list:
> http://www.mail-archive.com/jsmentors@jsmentors.com/
>
> To search via a non-Google archive, visit here:
> http://www.mail-archive.com/jsmentors@googlegroups.com/
>
> To unsubscribe from this group, send email to
> jsmentors+unsubscr...@googlegroups.com<jsmentors%2bunsubscr...@googlegroups.com>
>

-- 
To view archived discussions from the original JSMentors Mailman list: 
http://www.mail-archive.com/jsmentors@jsmentors.com/

To search via a non-Google archive, visit here: 
http://www.mail-archive.com/jsmentors@googlegroups.com/

To unsubscribe from this group, send email to
jsmentors+unsubscr...@googlegroups.com

Reply via email to