Strict mode doesn't have new "features", it has restrictions.
Strict mode adds nothing over what ES3 already has, it only places 
restrictions on things which can cause issues or hinder the ability for 
the engine to optimize.
this in functions is undefined instead of global, eval cannot 
dynamically inject new variables, eval cannot be renamed or passed 
around in ways that make eval get indirectly called and potentially 
inject code where it doesn't belong, `foo = 123` does not define an 
implied global and throws instead, while a nice feature but widely 
misunderstood while() {} prevents some potential optimizations so it's a 
syntax error in strict mode, there might have been one or two more.

Your code works fine whether it's run in ES3 or ES5. The difference is 
that when testing using an ES5 browser a lot of gotchas like forgetting 
var in front of a variable throw errors instead of silently exhibiting 
confusing behavior. As well any ES5 browser running the code has the 
opportunity to optimize the code and run it faster.

~Daniel Friesen (Dantman, Nadir-Seen-Fire) [http://daniel.friesen.name]

Andrea Giammarchi wrote:
> Who talked about users here?
>
> You put "strict" you do not have that common behavior, whatever right 
> or wrong it is, but you cannot use new features for compatibility reason.
>
> Where exactly do you find a better development and debug pattern with 
> this strategy?
>
> >

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to jquery-dev@googlegroups.com
To unsubscribe from this group, send email to 
jquery-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to