• JavaScript学习日志:关于js分号


    javascript有自动添加分号的功能,但是不是所有情况都会自动添加,要区分:

    1,如果语句独占一行

    如果当前行内的语句能够被js正确解析,那么就会在句尾添加一个分号。

    (如何判断是否正确解析?你在控制台执行当前语句,不报错就可以-。-)

    那么反之,如果当前语句不能被正确解析,那么就不会添加分号,而是将此行的末尾和下一行的开头连起来解析,所以就会产生其他问题。

    a=1
    b=1;
    
    // 第一个分号可以省略
    
    var a
    a
    =
    1
    
    // 解析为 var a; a = 1; 因为等号是没办法解析的,所以必须将上面和下面联系起来,虽然a是可以解析的,因为上面已经声明了变量a

    2,return , continue, break的换行处

    如果上面三个关键字后换行了,那么会直接在后面加分号,所以如果有表达式要跟在后面,一定不能换行。

    return
    true;
    
    // 解析成return; true;  而不是return true;

    3,代码块之后不能添加分号

    比如if语句的代码块,for循环的代码块等等,后面不能手动写分号

    4,以"(" , "[" , "/" , "+" , "-"开始的语句

    如果一条语句以上面几个开始,那么它上面一行的代码结尾一定不能漏掉分号,尽管上一条语句可以单独被正确解析,例如

    var a
    []
    
    // 报错
    
    var a;
    []
    
    // 不报错
    

      

    5,"++" , "--"也比较特殊

    如果将其作为后缀表达式,它和表达式在同一行,否则,行尾填补分号,同时“++”和“--”作为下一行代码的前缀操作符:

    x
    ++
    y
    
    //解析为 x; ++y;   而不是我们期望的 x++; y;
    

      

  • 相关阅读:
    机器学习算法的流程总结
    机器学习算法的流程总结
    路由器的原理
    路由器的原理
    机器学习编程接口(api)设计(oop 设计)
    机器学习编程接口(api)设计(oop 设计)
    组态档(configuration file)与建构档
    组态档(configuration file)与建构档
    学习之法 —— 套路
    学习之法 —— 套路
  • 原文地址:https://www.cnblogs.com/yanchenyu/p/7976009.html
Copyright © 2020-2023  润新知