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
>>> [email protected]
>>> https://mail.mozilla.org/listinfo/es4-discuss
>>>
>>>
>
> _______________________________________________
> Es4-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es4-discuss
_______________________________________________
Es4-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es4-discuss