什么时候需要分号呢?
必须要:当两条语句出现在同一行的时候
只有当两条语句或多条语句在同一行时,才需要分号。
var i = 0; i++ // <-- 必须要分号
// (有换行,则末尾的分号是可选的)
var i = 0 // <-- 可以不要分号
i++ // <-- 可以不要分号
当然有些语法结构,是必须要分号的,例如 for 循环语句
for(var i = 0; i < 10; i++)
{
// 循环体代码
}
可以不要:在一行语句的末尾
在 JavaScript 代码中,分号是用来分隔语句的;如果语句的结尾有换行,则分号可以不要(或者语句块中只有一条语句 { block })。一条语句,就是指示计算机做某件事情的一“句”程序代码。下面是最常见类型的语句:
var i; // 变量定义
i = 5; // 变量赋值
i = i + 1; // 变量赋值
i++; // 也是变量赋值
var x = 9; // 变量定义的同时,赋值
var fun = function() {...}; // 变量定义、赋值,函数定义
alert("hi"); // 函数调用
这些语句都可以以分号结尾,但都不是必须的。有些人认为,将每个语句都以分号结尾是个好习惯,因为这样可以让你的代码更容易解析和压缩。如果去掉换行符,你就不必担心多个语句会出现在同一行而没有分隔符。
现代编辑器都有检查分号的能力,分号使用错误,会给出红色警告。出现多余的分号,也会给出提醒。
我建议,每一条语句都以分号结尾,方便阅读。
说明:本文大部分内容译自《Your Guide to Semicolons in JavaScript》