我们需要在结尾加分号吗?

我在 JavaScript 中的一些地方遗漏了分号,但是在任何浏览器中都没有抛出错误。是否需要末端的 ;

108268 次浏览

如果它没有抛出编译器错误,那么应该没问题。不过,你最好记得一直使用它们,因为你可能会使用的一些语言,比如 Objective-c,对它们的使用是坚定不移的。

这个概念被称为 JavaScript 分号插入或“ 自动分号插入”。这篇博客文章: JavaScript 分号插入: 您需要知道的一切(从 原版的归档)以一种可以理解的方式使用标题下的例子很好地概述了这个概念:

  • 允许使用分号的地方
  • 哪里可以省略分号
  • 规矩

它甚至深入研究了关于这个主题的 官方 ECMAScript 规范

Javascript 做了一些叫做“分号插入”的事情,这意味着你实际上可以编写在某些地方省略分号的代码,当代码被解析时,它们基本上会为你添加。

发生这种情况的规则有点复杂。为了简单起见,许多开发人员只是假装分号插入不存在。

编辑01-20-2020: (实际上有一些模糊的情况,不包括分号会导致运行 JS 代码的问题。实际上,JS 并不总是知道如何智能地为您插入分号。在英语中,我能比较的最接近的东西是牛津逗号,有些人认为你不需要它,但我们都看到过关于错过标点改变句子意思的笑话。除非你想学习所有的边缘情况,或者更糟糕的是找出困难的方法,那么建议你总是使用它们。)

JavaScript 编程不需要分号,但我建议您使用它。它使您的代码更具可读性,实际上是一个很好的实践,几乎所有很酷的编程语言都使用它。

表明立场,利用它,现在就看你的了!

你写的 javascript 没有分号,你只需要插入它们,如果你开始一行与 Parantesis (或括号 [

糖果 times()函数就是一个很好的例子:

<script>
var somthing = 1 + 3
;(5).times(function(n){
console.log(n + " line") //prints "X line" 5 times
})
</script>

说用分号写代码会使代码更易读是荒谬的。它使您的代码更加凌乱。看看这个页面上没有分号的代码,告诉我它的可读性较差。它更容易阅读,不那么杂乱,更干净,更优雅。分号是丑陋和不必要的。见这篇文章: https://mislav.net/2010/05/semicolons/