javascript:为什么这个return语句会导致语法错误?

我正在使用Apatana 3,我稍微修改了JS代码格式化程序,让它看起来更清晰,下面是格式化后的代码,它给我一个错误:

    copyOffset : function( index )
    {
        return
        {
            x : index, y : index
        };
    }

萤火虫给我:

SyntaxError: invalid label

如果我改为:

    copyOffset : function( index )
    {
        return{
            x : index, y : index
        };
    }

没问题,谁能告诉我这两个回报声明之间的区别是什么?

最佳答案
区别在于第一个片段实际上被解释为……

copyOffset : function( index )
{
    return;
    {
        x : index, y : index
    };
}

它被称为Automatic Semicolon Insertion:当JavaScript解析器看到一个似乎完整的语句但是错过了分号时,它会尝试“修复”它.

是的,尽管有时很有帮助,但它可能非常烦人. This article详细解释了这个JavaScript功能.

转载注明原文:javascript:为什么这个return语句会导致语法错误? - 代码日志