Global functions
Michael O'Brien
mob at mbedthis.com
Thu Dec 13 19:41:56 PST 2007
While this compiles in the RI, it still produces 2 and 2 for the output.
ie. doesn't seem they are block scoped functions either.
Michael
John Resig wrote:
> I was under the impression that for the function definitions to be confined to a block scope, you had to define them as such (with let function statements), like so:
>
> package {
> {
> let function fun() {
> print("1");
> }
> fun()
> }
> {
> let function fun() {
> print("2")
> }
> fun()
> }
> }
>
> I'm unsure if this currently works in the RI, or not.
>
> --John
>
>
> ----- Original Message -----
> From: "Michael O'Brien" <mob at mbedthis.com>
> To: "es4-discuss" <es4-discuss at mozilla.org>
> Sent: Thursday, December 13, 2007 7:10:41 PM (GMT-0500) America/New_York
> Subject: Global functions
>
> Are global functions declared with block or global scope. ie. declared
> in the block object or var object?
>
> Consider:
>
> package {
> {
> function fun() {
> print("1");
> }
> fun()
> }
> {
> function fun() {
> print("2")
> }
> fun()
> }
> }
>
>
> This prints
>
> 2
> 2
>
> in the RI.
>
> So should functions be treated like var declarations or as let
> declarations. Seems like they are like vars in the RI.
>
> Is this right?
>
> Michael O'Brien
>
> _______________________________________________
> Es4-discuss mailing list
> Es4-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es4-discuss
>
>
>
More information about the Es4-discuss
mailing list