![](/img/trans.png)
[英]No Semicolons after if/else statement in Function (Javascript)? What gives?
[英]Why are semicolons not used after if/else statements?
我知道在 Javascript 中的所有語句之后使用分號是一種很好的語法,但是有人知道為什么 if/else 語句在大括號之后不需要它們嗎?
{
和}
開始和關閉一組語句基本上, if-else
后面必須跟一個語句或一組語句。
if-else
后跟一個語句:
if (condition) statement;
if (condition); // followed by a statement (an empty statement)
if-else
后跟一組語句:
if (condition) {
statement;
statement;
}
if (condition) {
// followed by a group of statements of zero length
}
if-else
必須以 a 結尾;
如果后面跟着一個語句。 if-else
不以 a 結尾;
when 后面跟着一組語句,因為;
用於結束單個語句,不用於結束一組語句。
真正的答案是因為許多現代語言從 C 復制了它們的語法,C 具有此屬性。 JavaScript 是這些語言之一。
C 允許語句塊
{ ... }
(不需要終止分號)在可以使用語句的地方使用。 因此,您可以將語句塊用作 then- 和 else- 子句,而無需使用分號。
如果將單個語句放在 then- 或 else- 子句中,則需要用分號終止它。 同樣,就像在 C 中一樣,額外的 JavaScript 扭曲是 ; 在一行的末尾是可選的,如果插入它不會導致語法錯誤。
因為花括號本身就是終止符。
它們是包含復合語句塊並且本質上終止的標記。 這就像在一個句子的末尾加上一個句號,它向解析器發出信號,表示這個想法已經完成。
雖然完全丑陋,但將每個語句包裝在 {} 中並省略 ; 是有效的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.