函数中if/else语句后没有分号(Javascript)?有什么好处?

函数中if/else语句后没有分号(Javascript)?有什么好处?,javascript,if-statement,Javascript,If Statement,我不熟悉Javascript和编码,所以这可能是基本知识,但是这个例子很有效,尽管if/else语句的函数中没有分号,甚至没有大括号{}。我认为如果在if/else中有多个条件,那么它们都是需要的。其中两个有单一的条件,所以我知道它们不需要分号和大括号,但这两者都没有。else语句有两个条件,仍然没有分号或大括号,但代码仍然有效。谢谢你的洞察力 另一个问题(已结束但已回答)有关于使用的说明;或{},但没有说明函数中if/else的语法要求是否发生了变化 //变量,该变量将在图像中递增 var

我不熟悉Javascript和编码,所以这可能是基本知识,但是这个例子很有效,尽管if/else语句的函数中没有分号,甚至没有大括号{}。我认为如果在if/else中有多个条件,那么它们都是需要的。其中两个有单一的条件,所以我知道它们不需要分号和大括号,但这两者都没有。else语句有两个条件,仍然没有分号或大括号,但代码仍然有效。谢谢你的洞察力

另一个问题(已结束但已回答)有关于使用的说明;或{},但没有说明函数中if/else的语法要求是否发生了变化


//变量,该变量将在图像中递增
var步长=0
函数slideit(){
//如果浏览器不支持图像对象,请退出。
如果(!document.images)
返回文档.getElementById('slide').src=slideimages[step].src

如果(步骤多行需要大括号,后面不需要分号——函数中的语法没有什么不同:)


在JavaScript中,分号位于
if
else
之后。分号应该位于
if
else
块中的语句之后,但在技术上是可选的

if
块以
if
开头,并包含一个语句块,该语句块可以是一个表达式或
{
+一个或多个表达式+
}
块,否则
块的工作方式相同

因此,所有这些都是等价的:

if console.log("foo")

if console.log("foo");

if
    console.log("foo")

if
    console.log;

if { console.log("foo") }

if { console.log("foo"); }

if {
    console.log("foo")
}

if {
    console.log("foo");
}
else
块的工作方式相同



无论如何,您应该在JavaScript中始终包含分号(在适当的情况下)。它们是可选的,但我见过的每一条JavaScript代码指南都会告诉您使用它们。

感谢所有的回答。仍然有1个歧义。else语句不包括2个表达式并且需要被视为一个块吗?任何没有大括号的
if
else
语句只会影响下一个语句。如果您ant两个语句要与
搭配,否则
就需要包含大括号。分号与此无关。因此,您的评论中的问题的答案是肯定的:带有两个表达式的else语句被视为块,必须有大括号。再次感谢,但除非我弄错了,否则上面的else语句有两个表达式,并且仍然是工作(在Chrome中)。从技术上来说,这是一个很好的例子,但在实际操作中不要这样做,因为这是一种懒惰的事情?你错了。唯一与
else
块匹配的语句是
步骤=0
if console.log("foo")

if console.log("foo");

if
    console.log("foo")

if
    console.log;

if { console.log("foo") }

if { console.log("foo"); }

if {
    console.log("foo")
}

if {
    console.log("foo");
}