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

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

  • 相关阅读:
    centos6.5 mysql配置整理
    第四章 Web表单
    第三章 模板
    第二章 程序的基本结构
    第一章 安装
    常见网络错误代码(转)
    微软消息队列MessageQueue(MQ)
    基于.NET平台常用的框架整理(转)
    Sqlserver更新数据表xml类型字段内容某个节点值的脚本
    正则表达式_基础知识集合
  • 原文地址:https://www.cnblogs.com/fanbi/p/7201508.html
Copyright © 2011-2022 走看看