[翻译] 国外大神的js 分号使用指南

简介: • Required: When two statements are on the same line必备: 当两个语句在同一行时var i = 0; i++ // <-- semicolon obligatory // (but optional before newline)var i = 0 // <-- semicolon optional i++ // <-- semicolon optional• Optional: After statement
  • Required: When two statements are on the same line


必备: 当两个语句在同一行时

var i = 0; i++        // <-- semicolon obligatory
                      //     (but optional before newline)
var i = 0             // <-- semicolon optional
    i++               // <-- semicolon optional


  • Optional: After statements


可选: 在语句之后


Javascript 中的分号用于分隔语句,但如果语句后面跟一个换行符(或者{ block }中只有一个语句) ,则可以省略该分号。 语句是告诉计算机去做某事的一段代码。 以下是最常见的语句类型:

var i;                        // variable declaration
i = 5;                        // value assignment
i = i + 1;                    // value assignment
i++;                          // same as above
var x = 9;                    // declaration & assignment
var fun = function() {...};   // var decl., assignmt, and func. defin.
alert("hi");                  // function call


  • Avoid!


避免


  1. 你不应该在一个右括号后面加上分号。除了do while的形式

// NO semicolons after }:
if  (...) {...} else {...}
for (...) {...}
while (...) {...}
// function statement: 
function (arg) { /*do this*/ } // NO semicolon after }
// BUT:
do {...} while (...);


  1. 在 if、 for、 while 或 switch 语句的圆括号后面


这是一个非常糟糕的主意:

if (0 === 1); { alert("hi") }
// equivalent to:
if (0 === 1) /*do nothing*/ ;
alert ("hi");


  • Of course there's an exception...


一个重要的特点是: 在 for 循环的()中,分号只放在第一个和第二个语句之后,而不放在第三个语句之后:

for (var i=0; i < 10; i++)  {/*actions*/}       // correct
for (var i=0; i < 10; i++;) {/*actions*/}       // SyntaxError


参考



Your Guide to Semicolons in JavaScript


https://news.codecademy.com/your-guide-to-semicolons-in-javascript/



目录
相关文章
|
JavaScript
node.js 分号问题
node.js 分号问题
127 0
|
前端开发 JavaScript
重学前端 29 # JavaScript中要不要加分号?
重学前端 29 # JavaScript中要不要加分号?
102 0
重学前端 29 # JavaScript中要不要加分号?
|
JavaScript 前端开发
JavaScript 代码结构:语句、分号和注释
JavaScript 代码结构:语句、分号和注释
187 0
JavaScript 代码结构:语句、分号和注释
|
JavaScript 前端开发 开发者
JavaScript ASI 机制详解,不用再纠结分号问题
关于要不要加分号的问题,其实有很多争论!有的坚持加分号,而有的不喜欢加分号...但是无论那种风格,都不能百分百避免某些特殊情况产生的问题,究其根本就是因为对 JavaScript 解析和 ASI 规则的不了解。
346 0
|
JavaScript 前端开发
JS的分号可以省掉吗?
写不写分号,这是个有趣的问题....
1384 0
|
JavaScript 前端开发 Java
不为人知的JavaScript自动分号插入机制( ASI )
JavaScript拥有自由的精神, ASI就是此精神的表现形式之一, ASI是Automatic semicolon insertion 的缩写, 在许多语句后面可以省略分号, 当然很多小白还没有发现这一点... ASI的引入方便了开发者的同时也带来了很多坑........ 本文介绍了自动插入分号机制在return语句中的例子,以及在es5标准下的相应规则。
2517 0
|
JavaScript 前端开发 安全
JS编程建议——5:防止JavaScript自动插入分号
5:防止JavaScript自动插入分号
1214 0