我只编写了少量运行嵌入Java应用程序的JavaScript,但它是使用QUnit测试的,已经混合了,我还没有注意到任何问题.
是否有一些传统的智慧是否在JavaScript中使用分号?
使用它们.经常使用它们.
因为你忽略了一个分号并且在压缩/生成/ eval解析之前丢失了保存它的空格,所以稍后容易打破一些东西太容易了.
我会说他们一直都在使用它们; 您遇到的大多数代码都会使用它们,而且一致性就是您的朋友.
如果您不使用它们然后缩小代码,则可能会遇到问题,所有代码都在一行上,并且浏览器无法完全掌握哪个命令在哪里结束.
它们是ECMAscript标准所要求的,请参阅第7.9节 - 只是标准定义了一些允许在解析脚本时自动插入的规则.
所以总是使用它们!
在编写JavaScript时,我总是提倡使用分号.通常,口译员可以为您推断它们; 但我还没有看到一个原因(除了懒惰;-))为什么你会故意以不太可能的方式编写你的代码.
在我看来,如果代码的结构很明显,那么分号的位置就会非常清楚,这样你就不会在养成习惯之后(即在每一行的末尾)考虑它; 在另一方面,如果在分号去不清醒时立即给你,然后有机会的结构还不是最明显的,无论如何,以及是否有必要明确分号更比他们在其他地方.
它还让你习惯于理解和分隔你脑中的陈述,这样你就可以更好地理解代码如何解析为AST或类似代码.调试语法错误时,这是一件好事.
使用它们。原因有几个,最明显的是
JavaScript压缩程序/压缩程序
换行是新表达式的规则的例外(例如,以变量终止一行,并以括号开头的下一行,))
。