我知道在 Javascript 中的所有语句之后使用分号是一种很好的语法,但是有人知道为什么 if/else 语句在花括号之后不需要它们吗?
问问题
21415 次
3 回答
53
- 分号用于结束 ONE 语句
{
并}
开始和结束一组语句
基本上,anif-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
必须以 if 结尾,;
后面跟着一条语句。if-else
不以;
when 后跟一组语句结尾,因为;
用于结束单个语句,不用于结束一组语句。
于 2013-06-11T03:50:24.340 回答
14
真正的答案是因为许多现代语言从具有此属性的 C 中复制了它们的语法。JavaScript 就是其中一种语言。
C 允许语句块
{ ... }
(不需要终止分号)用于可以使用语句的地方。因此,您可以将语句块用作 then- 和 else- 子句,而无需分号。
如果在 then- 或 else- 子句中放置一条语句,则需要用分号终止它。同样,就像在 C 中一样,带有额外的 JavaScript 扭曲:在行尾是可选的,如果插入它不会导致语法错误。
于 2013-06-11T03:45:29.397 回答
8
因为花括号本身就是终止字符。
它们是包含复合语句块并且本质上终止的标记。这就像在句子的末尾加上句号,它向解析器发出信号表明思想已经完成。
虽然完全丑陋,但将每个语句包装在 {} 中并省略 ; 是有效的。
于 2013-06-11T03:40:33.253 回答