Ron*_*han 31 javascript if-statement
我理解在Javascript中的所有语句之后使用分号是很好的语法,但有没有人知道为什么if/else语句在大括号后不需要它们?
inv*_*sal 47
{并}开始和结束一组陈述基本上,if-else必须后跟一个陈述或一组陈述.
if-else 随后是一份声明:
if (condition) statement;
if (condition); // followed by a statement (an empty statement)
Run Code Online (Sandbox Code Playgroud)
if-else 然后是一组陈述:
if (condition) {
statement;
statement;
}
if (condition) {
// followed by a group of statements of zero length
}
Run Code Online (Sandbox Code Playgroud)
if-else;如果后跟单个语句,则必须以a结尾.if-else并不是以后;跟一组语句;结束,因为它用于结束单个语句,并且不用于结束一组语句.
Ira*_*ter 11
真正的答案是因为许多现代语言都从C语言中复制了它们的语法,C语言具有此属性.JavaScript是这些语言之一.
C允许语句块
{ ... }
Run Code Online (Sandbox Code Playgroud)
(不需要终止分号)可以在可以使用语句的地方使用.因此,您可以使用语句块作为then-和else-子句,而不使用分号.
如果你把一个单一的声明则-或else-子句中,你需要用分号来终止它.再次,就像在C中一样,额外的JavaScript扭曲; 在行的末尾是可选的,如果插入它不会导致语法错误.
因为花括号本身就是终止字符.
这些标记包含一个复合语句块并且本质上是终止的.这就像在一个句子的末尾放一个句点,它向解析器发出信号,表明思想已经完成.
虽然完全是丑陋的,但在{}中包含每个语句并省略;