This is an RI bug too (my fault). AS3 initializes programs in a single pass, before evaluating the top level code. The RI does both in one pass. I just filed a bug (http://bugs.ecmascript.org/ticket/382)
Jd On 4/15/08 11:38 AM, Michael O'Brien wrote: > Jon, thanks. Any thoughts on the original post? > > >>>> Question about declarations: >>>> >>>> Consider: >>>> >>>> print(Shape.x) >>>> public class Shape { public static var x = 1; } >>>> print(Shape.x) >>>> >>>> fun() >>>> function fun() { print("fun"); } >>>> >>>> >>>> In the RI this prints: >>>> >>>> undefined >>>> 1 >>>> fun >>>> >>>> In ASC this prints: >>>> 1 >>>> 1 >>>> fun >>>> >>>> What happens in the RI is the class declaration seems to occur where >>>> it is coded. It is not being >>>> hoisted to the top of the enclosing var block. Whereas the function >>>> declaration is and thus can >>>> be called before its declaration. >>>> >>>> Is this an RI bug or just a divergence from AS3? >>>> >>>> Michael >>> >>> _______________________________________________ >>> Es4-discuss mailing list >>> Es4-discuss@mozilla.org >>> https://mail.mozilla.org/listinfo/es4-discuss >>> >>> > > _______________________________________________ > Es4-discuss mailing list > Es4-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es4-discuss _______________________________________________ Es4-discuss mailing list Es4-discuss@mozilla.org https://mail.mozilla.org/listinfo/es4-discuss