disabling "use strict"; everywhere

Brandon Benvie brandon at brandonbenvie.com
Wed Jan 30 08:15:29 PST 2013


To enable strict mode, the "use strict" expression must come as the first
non-statement of a script or function body. That means
    function x(){}
    "use strict";

Will enable strict mode, but

    (function x(){});
    "use strict";

won't. To make your example strict, you'd have to do

    with (ob) {
      (function(){
        "use strict'";
        /* concatenated stuff */
      })();
    }


On Wed, Jan 30, 2013 at 10:48 AM, Claude Pache <claude.pache at gmail.com>wrote:

> Le 30 janv. 2013 à 06:12, Andrea Giammarchi <andrea.giammarchi at gmail.com>
> a écrit :
>
> I have a blog post about it called
>
> Resurrecting The With Statement
>
> and before I post the link, there the long story short:
>
> putting `with(this){` before any build process/inlined library and `}` at
> the end of all concatenated files nobody is strict anymore ^_^
>
>
> For what I understand of ES5, putting some random stuff (other than string
> literals or comments) before a "use strict" directive at the beginning of a
> file will disable it. This is a known fact, orthogonal to the "Function +
> with" dirty/creative hack of your blog post.
>
>  —Claude
>
>
> http://webreflection.blogspot.com/2013/01/resurrecting-with-statement.html
>
>
> I actually like this possibility, but I'd like to know what you think
> about it
>
>
> br
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20130130/437d4102/attachment.html>


More information about the es-discuss mailing list