"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

Reply via email to