Javascript中分号表示一条语句的结尾。但是,有一些语法结构不需要在语句的结尾添加分号,主要是以下三种情况。
(1)for和while循环
for(;;){} // 没有分号 while(true){} // 没有分号
需要注意的是do...while循环是有分号的。
do { a--; } while(a > 0); // 分号不能省略
(2)分支语句:if, switch, try
if (true) {} // 没有分号 switch () {} // 没有分号 try {} catch {} // 没有分号
(3)函数的声明语句
function f() {} // 没有分号
但是函数表达式仍然要使用分号。
var f = function f() {};
以上三种情况,如果使用了分号,并不会出错。因为,解释引擎会把这个分号解释为空语句。