为什么要用分号?

时间:2010-03-08 07:53:39

标签: javascript coding-style

除了主观视觉感知和在同一行上有多个语句的情况之外,还有任何理由在JavaScript语句结尾处使用分号吗?

看起来有大量证据表明使用分号是高度可选的,仅在少数特定情况下是必需的。

5 个答案:

答案 0 :(得分:34)

因为JavaScript在猜测分号的位置时会给你带来讨厌的东西。最好是明确的,让解释者确切地知道你的意思,而不是让愚蠢的盒子代表你猜测。

参考文献:

......还有成千上万的演员。

答案 1 :(得分:17)

看起来很少有理由,或者实际上是边缘情况,当人们想要使用分号时。

http://aresemicolonsnecessaryinjavascript.com/< - 此时已关闭,请使用

https://github.com/aresemicolonsnecessaryinjavascript/aresemicolonsnecessaryinjavascript.github.com

答案 2 :(得分:13)

如果你问,因为你来自Python背景:区别在于:

答案 3 :(得分:11)

由于

  • 调试你不这样做时发生的微妙错误是浪费时间,你可能会花一些时间来做一些很酷的事情。
  • 使得以后维护代码的人更清楚
  • 并非所有的代码维护者都能理解自动插入的规则,以便维护代码并将其排除在外
  • 将它们排除在外依赖于所有工具,这些工具可以处理工具链中的JavaScript代码,从而使规则完全正确(例如,某些minifiers / packers / compressors没有,including Crockford's jsmin,会在某些地方破坏依赖ASI的代码)

答案 4 :(得分:10)

作为Douglas Crockford suggests -

  

放一个; (分号)在每个简单陈述的末尾。请注意,分配函数文字或对象文字的赋值语句仍然是赋值语句,必须以分号结尾。