我应该在JavaScript中使用分号吗?

时间:2009-02-11 16:32:27

标签: javascript

我只编写了少量运行嵌入Java应用程序的JavaScript,但它是使用QUnit测试的,已经混合了,我还没有注意到任何问题。

是否有一些传统的智慧是否在JavaScript中使用分号?

8 个答案:

答案 0 :(得分:29)

使用它们。经常使用它们。

稍后因为你忽略了一个分号并且它在压缩/生成/ eval解析之前丢失了保存它的空格,这太容易了。[/ p>

答案 1 :(得分:8)

我会说他们一直都在使用它们;您遇到的大多数代码都会使用它们,而且一致性就是您的朋友。

答案 2 :(得分:7)

ECMAscript standard需要它们,请参阅第7.9节 - 只是标准定义了一些允许在解析脚本时自动插入的规则。

所以要经常使用它们!

答案 3 :(得分:6)

如果您不使用它们然后minify您的代码,您可能会遇到问题,所有代码都在一行上,浏览器无法完全掌握哪个命令在哪里结束。

答案 4 :(得分:6)

在编写JavaScript时,我总是提倡使用分号。通常,口译员可以为您推断它们;但我还没有看到一个原因(除了懒惰;-))为什么你会故意以不太可能的方式编写你的代码。

在我看来,如果代码的结构很明显,那么分号的位置就会非常清楚,这样你就不会在养成习惯之后(即每个结束时)考虑它。线);另一方面,如果你不能立即明白分号的位置,那么结构可能不是最明显的结构,那里需要明确的分号 more 而不是其他地方。

它还让你习惯于理解和分隔你头脑中的陈述,因此你有一个(不可否认的是)更好地理解你的代码如何解析成AST或类似的东西。在调试语法错误时,这一定是件好事。

答案 5 :(得分:4)

使用它们。有几个原因,最值得注意的是

  1. JavaScript minifiers / compressors
  2. 新行是新表达式的规则的例外(例如,使用变量终止一行并使用括号)开始下一行。)

答案 6 :(得分:3)

半冒号在我的编辑器中触发自动缩进。足够的理由让我一直使用它。

是的,一致性。

答案 7 :(得分:2)

分号的基本思想是告诉浏览器你刚刚完成了一个命令。你应该使用它们。