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

转载于:https://www.cnblogs.com/huanghuali/p/10406550.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值