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

Reply via email to