2016-08-03 108 views
1

我正在學習關於分號放置的w3schools,他們說「總是用分號結束簡單語句。」並且:「不要用分號結尾複雜的語句。」他們沒有定義簡單和複雜的陳述之間的區別是什麼,徹底的在線搜索也沒有提供答案。所以我仍然對JavaScript分號展示位置感到困惑。將不勝感激任何幫助。謝謝!簡單語句和複雜語句之間的區別 - Javascript

鏈接:http://www.w3schools.com/js/js_conventions.asp 它的標題下:「聲明規則」

+1

提供一個鏈接到你的報價頁面。一般而言,您只需在語句末尾添加分號即可。有一些地方不需要它們,就像在函數定義之後一樣,但即使你在函數之後添加了一個地方,它也不會破壞任何東西。如果你對分號是否屬於混淆,試試吧。另外,考慮使用MDN網站學習JavaScript而不是3wschools。 w3s有一個傾向於給予無害的描述和例子。 –

+0

我不知道是否適合發佈鏈接到SO的文檔作爲答案,但有一篇關於[Automatic Semicolon Insertion]的文章(http://stackoverflow.com/documentation/javascript/4363/automatic-semicolon -insertion-asi#t = 201608031320000905945) – BSMP

+0

正如Pamblam所說,w3schools值得懷疑,有*更多*更好的資源。 –

回答

1

複雜的語句是內部{}(「簡單」)語句序列。

所以你會寫(簡單的語句):

a = 3; 

和(複雜的語句,在許多語言中稱爲複合語句,在JavaScript中稱爲BLOCK)

{ 
    a = 3; 
    b = 4; 
} 

但不

{ 
    a = 3; 
    b = 4; 
}; 
+1

從ES 6不再是真的,在定義箭頭函數後省略';'是語法錯誤。 –

+1

實際上,更好的稱爲**塊**,這是標準術語。 「複合語句」用於其他編程語言,但無法在JS規範中找到。 – 2016-08-03 13:53:10

+0

@JaredSmith不確定你的意思。你是指箭頭函數的簡潔形體嗎?這不是一種說法,而是一種**表達**。 – 2016-08-03 13:54:01

0

複雜的陳述是指像ifforwhile

if(condition){ 

} //no semicolon 

簡單的聲明:

var x = 2; 
+1

一個複雜的陳述(這是一個錯誤且令人困惑的術語,並未在JS中使用)不必是任何東西。它可以獨自坐在那裏。 – 2016-08-03 13:55:04