zoukankan      html  css  js  c++  java
  • [学习笔记]Javascript可选的分号

    1.前言

      由于Javascript有自动识别一句语句的结尾,但是缺少必要分号作为结尾符,会降低代码的可读性和整洁性。通过javascript权威指南By淘宝前端团队译,这分号还算比较好玩的。

    2.样例

    2.1 两句语句有两行的书写

    a = 3; //第一行的分号可以省略
    b = 4;

    2.2 两句语句一行的书写

    a = 3; b = 4; //第一个分号不能省略,否则提示Uncaught SyntaxError: Unexpected identifier

    2.3 容易引起误解的写法

    2.3.1

    var a
    a
    =
    3
    console.log(a) 

    等价于 var a; a = 3;console.log(a);

    2.3.2

    var y = x + f
    (a+b).toString()

    等价于var y =  x + f(a+b).toString(0;

    2.4 通常来讲,如果一条语句以'(','[','/','+','-' 开始的,那么它可能会和前一条语句合在一起解析,后三种不常见,但是前两者比较常见,所以可以保守地在语句前面多加一个分号。

    var x = 0
    ;[x,x+1].forEach(console.log);

    2.5 方法结束加不加分号都可以,安装java,C/C++的习惯是不加。

    function fun{
    
    } //};也是可以的。

    2.6 如果前语句和下一行语句无法合并解析,JS则会在第一行后填补分号,这是通常规则,But有两个例外

    2.6.1 第一个例外是涉及到return、break和continue语句

    return
    true;

    会被解析成return; true; 而代码的本意是return true;

    2.6.2 涉及“++”和“--”

    x
    ++
    y

    等价于x; ++y; 而不是x++; y

     3. 总结

    尽量写规范一些,防止编译器理解错你的表达。

  • 相关阅读:
    hdu 1496 equations(哈希)
    为什么要微服务化
    什么是分布式系统中的幂等性
    不积跬步无以至千里
    服务治理与微服务
    使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码 (jvm性能调优)
    Spring MVC重定向和转发
    两个实体复制
    IntelliJ IDEA类头注释和方法注释
    Linux下单机安装部署kafka及代码实现
  • 原文地址:https://www.cnblogs.com/fanbi/p/7201508.html
Copyright © 2011-2022 走看看