为什么要用分号?

Art*_*Art 36 javascript coding-style

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

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

JUS*_*ION 34

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

参考文献:

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

  • 猜测?它遵循严格的规则,开发人员应该花5分钟学习,然后如果他们选择就丢弃无用的字符.而且,这个白痴盒就是电视...... (19认同)
  • 真是个可怕的答案.JavaScript解释器永远不会"猜测"在哪里放一个分号.开发人员可能会"猜测"ASI的规则,但这绝不是一个好主意.开发人员应该*理解他们使用的语言. (6认同)
  • 关于js分号的精彩文章:http://mislav.uniqpath.com/2010/05/semicolons/ (3认同)

Art*_*Art 17

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

http://aresemicolonsnecessaryinjavascript.com/ < - 现在已经停止使用了

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

  • issemicolonsnecessaryinjavascript.com的HTML版本:http://jsfiddle.net/ju2kqcn2/embedded/result/ (3认同)

Bol*_*wyn 13

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

  • 在Python中你不应该用任何东西终止行,但是如果必须的话,允许使用分号

  • 在JavaScript中你应该用分号终止行,但如果它是明确的,则允许(PDF,第26页,第7.9点)省略它

  • 适当半结肠使用的少数基于事实的论据之一. (2认同)

T.J*_*der 11

因为

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


N 1*_*1.1 10

正如道格拉斯·克罗克福德建议 -

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

  • 克罗克福德在他的发言中并非"事实".他提出了一个建议,如果你遵循这个建议,你必须遵循的规则. (3认同)

归档时间:

查看次数:

13659 次

最近记录:

6 年,7 月 前