为什么使用分号?
除了主观视觉和在同一行上有多个语句的情况之外,是否有任何理由在JavaScript语句的末尾使用分号?
看起来有很多证据表明分号的使用是非常可选的,并且只在less数特定情况下才需要。
因为JavaScript在猜测把分号放在哪里时会对你造成不好的影响。 最好是明确的让翻译人员确切地知道你的意思,而不是让白痴盒子代表你猜。
参考文献:
- http://www.webmasterworld.com/forum91/521.htm
- http://www.howtocreate.co.uk/tutorials/javascript/semicolons
- http://robertnyman.com/2008/10/16/beware-of-javascript-semicolon-insertion/
…和数千人的阵容。
看起来有很less的原因,或者实际上,边界情况下,当想要使用分号。
http://aresemicolonsnecessaryinjavascript.com/ < – 这是现在下来,使用
https://github.com/aresemicolonsnecessaryinjavascript/aresemicolonsnecessaryinjavascript.github.com
因为
- debugging时发生的微妙的错误是浪费时间,你可能会花一些很酷的事情
- 这会让有人维护代码后面的内容变得更加清晰
- 并不是所有的代码维护者都理解自动插入的规则,足以保持代码不被忽略
- 离开他们依靠所有的工具来处理你的工具链中的JavaScript代码,使得规则完全正确(例如,一些缩小器/包装器/压缩器不包括Crockford的
jsmin
,这将破坏在某些地方依赖于ASI的代码)
如果你问,因为你来自Python的背景:不同的是:
-
在Python中,你不应该用任何东西来终止行,但是如果你必须的话, 可以使用分号
-
在JavaScript中,您应该用分号终止这些行,但是允许(PDF,第26页,第7.9点)忽略它,如果它是明确的
正如道格拉斯·克罗克福德所说 –
放一个; (分号)在每个简单的语句结束。 请注意,分配函数字面量或对象字面量的赋值语句仍然是赋值语句,并且必须以分号结尾。