"I wish it did."
Maybe at least one person saying that was what I was looking for... Thanks
for the discussion!
On Thu, Mar 27, 2008 at 4:22 PM, Ian Thomas <[EMAIL PROTECTED]> wrote:
> 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
>
--
-jonathan howe :: 404.434.2321 :: 180 High St Apt 26 Portland, ME 04101
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders