1

我正在设置一些数据来做 AJAX 帖子,代码看起来像这样。

var data = {}
data.someId= 3;
data.anotherId = 4;

这很好用。但是为什么我不需要在第一行末尾加分号呢?

4

6 回答 6

5

他们是optional。你不需要这些。

https://mislav.net/2010/05/semicolons/

于 2011-06-19T06:31:06.333 回答
5

因为 JavaScript 有自动分号插入

我之前错误地将其称为自动分号注入,这是有道理的:P

该语言需要它们,但它会预处理您的脚本并尝试猜测它们应该去哪里。正如您在pst的评论中看到的那样,这并不总是有效。

您应该自己定义分号。不要让 JavaScript 猜测。

于 2011-06-19T06:31:30.137 回答
0

在 Javascript 中,一行中的单个语句不需要分号。

于 2011-06-19T06:31:22.847 回答
0

JavaScript 实际上不需要分号来确定语句的结尾。如果不存在分号,它将使用新行作为语句的结尾。唯一需要使用分号的情况是,如果您想将两个语句放在同一行,一个接一个。

话虽如此,最好的做法是始终以分号结束语句以避免混淆并避免可能很难找到的错误。

于 2011-06-19T06:31:32.473 回答
0

分号在 javascript 中是可选的。但建议添加

于 2011-06-19T06:33:48.087 回答
0

有时,如果您在设置 Linter 以检测它们的地方不使用分号,则会触发您的 Linter 设置。然而,一些分号在 JavaScript 中是可选的,包括放在换行符之前的分号。得益于自动半冒号插入 (ASI)。

ASI 只是分号可选时的一组规则,它实际上并没有在您的代码中插入分号。

一些分号是必要的。必要的分号示例包括 for 循环和 do-while 循环的头部。

还要小心,因为尽管省略可选的分号是有效代码,但编写了一些工具(如缩小器)来解释这些分号,因此它可能会在其中一个工具中引发错误。

于 2017-03-13T01:34:54.053 回答