javascript中的分号【;】

以前一直以为,在编写js代码的时候,如果在代码后面不添加分号,JavaScript会自动填补分号。最近看了权威指南,才突然发现一直理解有误,而且关于分号的使用,还有很多需要注意的地方。

1、分号的省略:如果两句代码用两行来书写,第一个分号是可以省略的。如果写在同一行,第一个分号则不能省掉。

1     //有效
2     a=3;
3     b=4;
4     //有效
5     a=3,b=4;
6     //有效
7     a=3;b=4;

2、JavaScript并不是在所有的换行处都填补分号,只有在缺少了分号就无法正确解析代码的时候,才会自动填补分号。如

    //以下代码JavaScript将其解析为var a; a =3; console.log("a="+a);
    var a
    a
    =3
    console.log("a=" +a); //a=3

3、不加分号可能带来的问题,如:

1     //写法
2     var y = x+f
3     (a+b).toString();
4     //希望JavaScript这样来理解
5     var y = x+f;
6     (a+b).toString();
7     //实际JavaScript是这样理解的,把f当做一个函数去调用,a和b是函数的两个参数
8     var y = x+f(a+b).toString();

那么面对分号的这么多问题,有没有好的解决方案呢?我个人觉得最好的办法就是规范代码的书写,在需要添加分号的地方手动添加好。

原文地址:https://www.cnblogs.com/tengri/p/5404617.html