在函数(Javascript)中的if / else语句之后没有分号?是什么赋予了?

时间:2016-04-13 00:42:01

标签: javascript if-statement

我是Javascript和编码的新手,所以这可能是基础知识,但是这个例子很有用,尽管在if / else语句的函数中没有分号,甚至花括号{}。如果你在if / else中有多个条件,我认为它们都是必需的。两个人有单一的条件,所以我知道他们不需要分号和大括号,但这两者都没有。而else语句有两个条件,仍然没有分号或大括号,但代码仍然有效。感谢您的任何见解。

另一个问题(已经结束但回答 - Why is it that semicolons are not used after if/else statements?)有关于使用的注释;或{}但如果函数中的if / else语法要求以某种方式改变,则无法解决。

http://www.javascriptkit.com/howto/show2.shtml

<script type="text/javascript">

//variable that will increment through the images
var step=0

function slideit(){
 //if browser does not support the image object, exit.
 if (!document.images)
  return document.getElementById('slide').src = slideimages[step].src
 if (step<2)
  step++
 else
  step=0
 //call function "slideit()" every 2.5 seconds
 setTimeout("slideit()",2500)
}

slideit()

</script>

2 个答案:

答案 0 :(得分:0)

多行需要大括号,之后不需要半冒号 - 函数中的语法没有区别:)

https://www.codecademy.com/forum_questions/507f6dd09266b70200000d7e

答案 1 :(得分:0)

分号在JavaScript中ifelse后出现。它们属于 {/ 1}}或if块内的语句,但它们在技术上是可选的。

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

因此,所有这些都是公平的:

else

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"); } 块的工作方式相同。

对于它的价值,你应该总是在JavaScript中包含分号(在适当的地方)。它们是可选的,但我见过的每个JavaScript代码指南都会告诉您使用它们。