• if判断和switch case 和三元运算符整理


    if判断和switch case 和三元运算符整理

    例子1:if判断写法:

    <script type="text/javascript">
        var num = 12;
        if(num>0){
            if (num<10) {
                num++;
            }else{
                num--;
            }
        }else{
            if(num==0){
                num++;
                num=num/10;
            }
        }
        console.log(num)//11
        </script>

    上面写成三元运算符:

    <script type="text/javascript">
            var num = 12;
            num>0?num<10?num++:num--:num=0?(num++,num=num/10):"";
            console.log(num)//11
    </script>

    例子2:if判断写法:

    <script type="text/javascript">
        var num = 12;
        if (num == 10) {
            num++;
        }else if (num == 5) {
            num --;
        }else{
            num=0;
        }
    </script>

    上面写成switch case:

    <script type="text/javascript">
        var num = 10;
        switch (num) {
            case 10:
                num++;
                break;
            case 5:
                num--;
                break;
            default:
                num = 0;
        }
        console.log(num) //11
    </script>

     注意:上面例子中当var num = '10';时,打印num输出的是0;

    switch case中每一种case情况的比较都是基于"==="绝对相等来完成的

    <script type="text/javascript">
        var num = '10';
        switch (num) {
            case 10:
                num++;
                break;
            case 5:
                num--;
                break;
            default:
                num = 0;
        }
        console.log(num) //0
    </script>

    var num = '10';//字符串

    num++;//11,数学运算

    num=num+1;//101,字符串拼接

    num++就不等于num=num+1

    "10"==10;

    =>true 相等比较,如果等号左右两边的类型不一样,首先会转换为一样的数据类型,然后再进行比较

    =>当前案例中,就是把字符串‘10’转换为数字了,然后再比较的

    ‘10’ === 10  

    =>fasle 绝对比较,如果两边的数据类型不一样,则直接不相等,它要求类型和值都完全一样才会相等(真是项目中为了保证代码的严谨性,我们应该更多使用绝对比较)

  • 相关阅读:
    qt程序编译错误:could not exec ‘/usr/lib/x86_64-linux-gnu/qt4/bin/qmake’
    安装 yaml-cpp,MP4V2
    安装cmake 和 opencv 4.0.0
    windows系统,boost编译安装
    messageQ 消息队列
    fflush 和 fsync 的区别
    开源一个 PDF 小工具集软件【使用 PDFium 库实现】
    封装 libjpeg 库
    纯 C++ 代码实现的 INI 文件读写类
    C++11 —— 使用 thread 实现线程池
  • 原文地址:https://www.cnblogs.com/huanghuali/p/10406550.html
Copyright © 2020-2023  润新知