Real World Func Decl in Block Scope Breakages

Brandon Benvie brandon at
Wed Dec 26 14:37:49 PST 2012

This appears to be correct. A number of the examples can be boiled down to
the following test:

    if (false) {
        function x(){

In Chrome, IE, Opera, and Safari 'worked' will be logged. In Firefox it
will silently fail.

On Wed, Dec 26, 2012 at 5:22 PM, Allen Wirfs-Brock
<allen at>wrote:
> Essentially only,  uses of this form are currently interoperable among all
> major implementations:
> if (condition) {
>      function foo() {};
>      foo();   //function declared and invoked in same conditional blocks.
> }
> Other uses (without other explicit feature or browser detection logic
> being involved) are not likely to be interoperable.
> I haven't looked in detail at all of Brian's snippets.  But several that I
> have glanced at look to me like they wouldn't be interoperable among
> current browsers.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list