适当的内联尝试捕获

时间:2013-09-29 16:25:41

标签: javascript try-catch

在Javascript中(或者大部分是ECMAscript),这是最合适的写法吗?

try { ajax.abort() } catch(e) { console.error (e) }

try { ajax.abort(); } catch(e) { console.error (e); }

在这种情况下似乎不需要分号,但同时我通常在5行而不是1行写这个,在这种情况下我使用分号作为标准程序用途(eol)。

两者都有效,我确信两者都会验证,这在语义上是否正确?

1 个答案:

答案 0 :(得分:7)

它们在语义上是相同的,并且由于Automatic Semicolon Insertion,它们在语法上都是正确的。


这部分是意见:

我建议总是明确地编写必要的分号,而不是依赖于ASI。但即使你这样做,ASI也会咬你。典型的例子是:

function foo() {
    return
        "testing";
}

如果您致电foo,则返回值为undefined,而不是"testing",因为ASI会在;之后启动并添加return。哎哟。