AFAIK, in AS2 the Flash IDE didn't respect block level scoping, but
MTASC did, which led to some confusion. That leads some people to
think that AS2 as a language has block level scoping.
AS3 definitely doesn't respect block scopes, and I curse every time I
trip over that 'variable declared twice' issue. I wish it did.
Ian
On Thu, Mar 27, 2008 at 8:09 PM, Juan Pablo Califano
<[EMAIL PROTECTED]> wrote:
> for (var i:int = 0; i < 10; i++)
>
> {
> if (i == 5) break;
> }
> trace(i);
>
> Mmm, have you actually tested the example? Because it does trace 5, since,
> as it was explained earlier in this thread, there is no block level scoping
> in AS 3.0. In fact, and this was mentioned too, all var declarations are
> "moved up" to be executed as the first actions run in a function's code (I
> believe that was called hoisting, but I might be wrong).
>
> Cheers
> Juan Pablo Califano
>
> 2008/3/27, Steven Sacks <[EMAIL PROTECTED]>:
>
>
> >
> > function doSomething
> > > {
> > > var i:int;
> > > for(i=0;i++;i<10)
> > > {
> > > }
> > > }
> > >
> > > Is functionally identical to this:
> > >
> > > function doSomething
> > > {
> > > for(var i:int =0;i++;i<10)
> > > {
> > > }
> > > }
> >
> > Wrong. It's not.
> >
> > In the latter example, i is not available after the loop. In the first
> > example, it is.
> >
> > var i:int;
> > for (i = 0; i < 10; i++)
> > {
> > if (i == 5) break;
> > }
> > trace(i);
> > -- 5
> >
> > There are a multitude of uses for this, and I do it all the
> > time. Additionally, I read somewhere many moons ago (back in my FLASM
> days)
> > that declaring variables outside a for loop is less bytecode and uses less
> > memory. I don't believe that applies to the counter declaration, but I do
> > know it applies to the comparison as well as vars declared inside the for
> > loop. However, this level of optimization is only useful in a practical
> way
> > on mobile and some games.
> >
> > _______________________________________________
> > Flashcoders mailing list
> > [email protected]
> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> >
> _______________________________________________
> Flashcoders mailing list
> [email protected]
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders