Javascript 为什么在if/else语句后不使用分号?
我知道在Javascript中的所有语句之后使用分号是很好的语法,但是有人知道为什么if/else语句不需要在大括号之后使用分号吗?因为大括号本身就是终止字符 是包含复合语句块并在本质上终止的标记。这就像在一个句子的末尾加上句号,它向解析器发出信号,表示思想已经完成Javascript 为什么在if/else语句后不使用分号?,javascript,if-statement,Javascript,If Statement,我知道在Javascript中的所有语句之后使用分号是很好的语法,但是有人知道为什么if/else语句不需要在大括号之后使用分号吗?因为大括号本身就是终止字符 是包含复合语句块并在本质上终止的标记。这就像在一个句子的末尾加上句号,它向解析器发出信号,表示思想已经完成 虽然非常难看,但在{}中封装每个语句并省略 真正的答案是因为许多现代语言都是从C语言中复制语法的,C语言具有这种特性。JavaScript就是这些语言之一 C允许语句块 { ... } (不需要终止分号)在可以使用语句的地方使用
虽然非常难看,但在{}中封装每个语句并省略 真正的答案是因为许多现代语言都是从C语言中复制语法的,C语言具有这种特性。JavaScript就是这些语言之一 C允许语句块
{ ... }
(不需要终止分号)在可以使用语句的地方使用。因此,可以将语句块用作then和else子句,而不使用分号
如果在then-or else-子句中放置一条语句,则需要使用分号终止该语句。再次,就像在C中一样,使用额外的JavaScript扭曲;如果插入不会导致语法错误,则在行尾是可选的。- 分号用于结束一条语句
和{
开始和结束一组语句}
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
必须以结尾代码>如果后跟一条语句<代码>否则
不以结尾代码>后接一组语句,因为代码>用于结束一条语句,而不用于结束一组语句。但您可以省略;通过在{}中包装,肯定不会通过js lint,而{}do
和for(){}
也具有此属性。这是关于语言语法的。你知道那是什么,寻找“语句”。这是一个关于语言语法的问题;读者:如果你认为这本书不应该被关闭,那就点击“重新打开”。我不同意“即使以其他方式结束;”。javascript中的任何语句都不需要以结尾;仅供参考。没有严格的规则。任何不以上下文结尾的语句(如用大括号)都需要@Orangepill JavaScript没有那么严格的规则,但还是推荐使用它。我不知道“分号插入”(甚至不知道它的存在),但我发现,我们记住额外的规则只是每五到十行省略一个分号有点愚蠢。或者也许使用它有我不知道的好处。@Invisial我完全同意。我认为这是一种在早期原谅非程序员的方法,但相反,它往往只是通过让程序运行来掩盖错误,否则会出错。