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. 总结

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

  • 相关阅读:
    bzoj2045: 双亲数&bzoj1101: [POI2007]Zap
    spoj GCDEX
    jQuery Ajax
    jQuery 动画效果
    jQuery 事件处理API
    jQuery 常用getter&setter
    jQuery 文档操作
    jQuery 基础
    Vue2.2.0+新特性整理
    JavaScript中的HTTP
  • 原文地址:https://www.cnblogs.com/fanbi/p/7201508.html
Copyright © 2011-2022 走看看