我在JavaScript中的某些地方错过了分号,但它并没有在任何浏览器中抛出错误。最终需要;
吗?
答案 0 :(得分:87)
该概念称为 JavaScript分号插入或“自动分号插入”。这篇博文:JavaScript Semicolon Insertion: Everything you need to know使用标题下的示例以可理解的方式概述了这个概念:
它甚至深入研究了official ECMAScript specification的主题。
答案 1 :(得分:23)
Javascript做了一个叫做“分号插入”的东西,这意味着你可以实际编写在某些地方省略分号的代码,并且在解析代码时基本上会为你添加它们。
这种情况发生时的规则有点复杂。为简单起见,许多开发人员只是假装不存在分号插入。
答案 2 :(得分:11)
你可以编写没有分号的javascript,如果你开始使用parantesis (
或括号[
,你只需要插入它们。
sugarjs times()
函数就是一个很好的例子:
<script>
var somthing = 1 + 3
;(5).times(function(n){
console.log(n + " line") //prints "X line" 5 times
})
</script>
这篇文章揭穿了大多数围绕javascript和分号的神话:link
答案 3 :(得分:4)
要说用分号编写代码使其更具可读性是荒谬的。它使您的代码更加破碎。看看这个页面上没有分号的代码,告诉我它的可读性较差。它更具可读性,更简洁,更清洁,更优雅。分号是丑陋的,没有必要。请参阅此文章:http://mislav.uniqpath.com/2010/05/semicolons/
答案 4 :(得分:2)
JavaScript编程不需要分号,但我建议您使用它。它使您的代码更具可读性,实际上是一种很好的实践,几乎所有很酷的编程语言都使用它。
站起来使用它,现在由你决定!
答案 5 :(得分:1)
如果没有抛出编译器错误,你应该没问题。但是你最好还是记得一直使用它们,因为你可能会遇到的一些语言如objective-c对它们的使用是坚定的。