zoukankan      html  css  js  c++  java
  • 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;
    

      

  • 相关阅读:
    React 创建一个自动跟新时间的组件
    React 组件传值 父传递儿子
    React 以两种形式去创建组件 类或者函数(二)
    React 语法基础(一)之表达式和jsx
    ref的使用
    使用scale等比例缩放图片
    Vue动态加载图片图片不显示
    div里面的元素在【垂直 方向】上水平分布 使用calc()函数动态计算
    控制label标签的宽度,不让它换行 label标签左对齐
    表单验证
  • 原文地址:https://www.cnblogs.com/yanchenyu/p/7976009.html
Copyright © 2011-2022 走看看