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

mac2022-07-05  13

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

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)