2013-09-29 25 views
0

在Javascript中(或大多數情況下,一般ECMAscript)這是寫這個最合適的方法嗎?適當的內聯try catch

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

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

好像分號不需要針對這種情況,但在同一時間,我通常寫上5日線,而不是一個在這種情況下,我用分號他們的標準編程目的(eol)。

這兩個工作,我敢肯定這兩個將驗證,所以這是從語義上是正確的?

+1

它們*語義*相同。 – Pointy

+0

閱讀[官方說明](http://www.ecma-international.org/ecma-262/5.1/#sec-7.9)。 – ComFreek

回答

5

它們在語義上是相同的,由於Automatic Semicolon Insertion,它們在語法上都是正確的。


這部分意見:

我建議總是明確寫入必要的分號,從不依靠ASI。但即使你這樣做,ASI也會咬你。典型的例子是:

function foo() { 
    return 
     "testing"; 
} 

如果調用foo,則返回值將是undefined,不"testing",因爲ASI踢和return後加;。哎喲。

+0

啊,我喜歡你的頭在T.J.我真的想要一個更果斷的答案,所以我檢查了更嚴格的語言如何處理這種情況。我的發現與您的同義詞是:http://codepad.org/XcWfViO4 – Jacksonkr