you hear Mark? drop that SES solution. Is good to evaluate in the same scope and context with a directive disabled inline and please read specs! ( sorry I could not resist but Oliver you are fun, I am going to read specs now :-) )
On Fri, Nov 16, 2012 at 3:32 PM, Oliver Hunt <oli...@apple.com> wrote: > I don't think you understand the semantics here -- the Function > constructor is defined as taking a string (ignoring the parameters for now) > and returning a function as though the function was defined in the global > scope. No functions change behaviour based on the strictness of their > caller. The only way to make a string execute as javascript inside the > scope of another function is to use the eval _operator_. These are > fundamentally different concepts. > > To put it another way, if the Function constructors behaviour was > dependent on the strictness of its caller, i would expect: > document.write("<script>/*code here*/</"+"script>"); > > to produce an script element that was already in strict mode. > > You really need to read the spec, as you seem to be misunderstanding some > very fundamental concepts. > > --Oliver > > On Nov 16, 2012, at 3:19 PM, Andrea Giammarchi < > andrea.giammar...@gmail.com> wrote: > > back in the topic ... about evaluation: Function('return this')(); returns > the global object with or without use strict around. This is actually nice, > since this one was a security problem introduced when somebody decided that > `this` without an explicit context should have been undefined. Now it is > possible to retrieve the global object as long as Function is the original > constructor. > Said that, I believe this is a bug in every browser. (Webkit, FF, Chrome > suffering) > > Please do not fix, thanks :-) > > > On Fri, Nov 16, 2012 at 2:50 PM, Andrea Giammarchi < > andrea.giammar...@gmail.com> wrote: > >> love this answer, thanks! >> >> >> On Fri, Nov 16, 2012 at 2:47 PM, Jeff Walden <jwalden...@mit.edu> wrote: >> >>> On 11/16/2012 02:37 PM, Andrea Giammarchi wrote: >>> > what I am saying: arguments won't disappear in 5+ years, neither will >>> caller ... is my crystal ball correct? >>> >>> It's not necessary for these things to disappear completely for us to >>> derive value from these decisions. It's only necessary for good code, that >>> wants to be performant, to not use them. >>> >>> Jeff >>> >> >> > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > > >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss