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)//
</script>

上面写成三元运算符:

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

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

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

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

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

"10"==10;

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

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

‘10’ === 10

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

if判断和switch case 和三元运算符整理的更多相关文章

  1. 为什么说在使用多条件判断时switch case语句比if语句效率高?

    在学习JavaScript中的if控制语句和switch控制语句的时候,提到了使用多条件判断时switch case语句比if语句效率高,但是身为小白的我并没有在代码中看出有什么不同.去度娘找了半个小 ...

  2. JS系列:三元运算符与循环

     三元运算符 语法: 条件?成立做的事情:不成立做的事情:<=>相当于简单的if/else判断(简化写法) var num = 12; if(num>10){ num ++; }el ...

  3. java三元运算符详解

    最近在带领实习生中遇到很多新手问与三元运算符有关的java题目,多数为代码结果题,少数为应用题.鉴于很多资料上对于java三元运算的讲解过于简单,网上的资料与题目也不是很完善,对于结果答案分析不一,故 ...

  4. 逻辑运算符、位运算符、三元运算符、判断语句(if,switch)

    逻辑运算符 逻辑与 &:由false则false 逻辑或 |:有true则true 逻辑异或 ^:相同为false,不同为true 逻辑非 !:非false则true,非true则false ...

  5. JavaScript三种判断语句和三元运算符

    三种判断语句 1.if结构 语法:if(条件){条件满足时执行的代码块} 2.if else结构 语法:if(条件){条件满足时执行的代码块}   else{条件不满足时执行的代码块} 3.if el ...

  6. javascript前端三层,字面量,变量,语句(if,switch,三元运算符,for,do while等)

    1:前端三层: 结构层 HTML 样式层 CSS 行为层 JavaScript  2:JavaScript语句和语句之间的换行.空格.缩进都不敏感.alert("你");alert ...

  7. 练习-用if语句替换三元运算符和选择结构-标准的switch语句

    if语句和三元运算符的互换 在某些简单的应用中,if语句是可以和三元运算符互换使用的 public static void main(String[] args) { int a = 10; int ...

  8. c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)

    1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数 ...

  9. js部分---运算符,if分支语句,for循环;switch case 的用法;

    ------------------------------------------运算符---------------------------------------------------- *数 ...

随机推荐

  1. jquery正则表达式验证:验证身份证号码

    需求说明: 前端页面使用正则表达式验证文本输入框输入的身份证号码是否符合规则. 代码说明: 这里只介绍正则表达式部分,其他部分的代码不做介绍.如有其它需求请自行修改即可. 步骤一:建立一个页面可以是h ...

  2. 检查Makefile中的tab

    转:http://stackoverflow.com/questions/16931770/makefile4-missing-separator-stop makefile has a very s ...

  3. jquery panel加载(dialog加载类似)

    项目情况: 主页面用引用了公共头文件(包含easui.min.js),使用easyui的dialog(href方式)打开窗口(被打开的窗口页面是纯html片段,无body元素等,也引入了公共头文件), ...

  4. linux下 C程序 参数和内存

    #include <stdio.h> int main(argc, argv) int argc;char *argv[]; {     printf("argc=%d \n&q ...

  5. python之零碎知识

    一 join方法 主要是做字符串的拼接:join后面跟的类型必须是要可迭代得到对象 for循环的对象是可迭代对象 # result = "".join(li) # print(re ...

  6. 2018.07.30 bzoj4355: Play with sequence(线段树)

    传送门 维护区间覆盖成非负数,区间变成max(xi+a,0)" role="presentation" style="position: relative;&q ...

  7. hB

    function Coef = LowPassHb(Fs,Fpass,Apass,n) % -- Fs sample frequency % -- Fpass % -- Apass(dB) % -- ...

  8. day16(jdbc进阶,jdbc之dbUtils)

    1.jdbc进阶 jdbc事务管理 jdbc中的事务管理其实就是交给了连接对象去管理.先写一个简单的事务管理 public class Demo01 { private static Connecti ...

  9. (线段树)Mayor's posters --poj -- 2528

    链接: http://poj.org/problem?id=2528 覆盖问题, 要从后往前找, 如果已经被覆盖就不能再覆盖了,否则就可以覆盖 递归呀递归什么时候我才能吃透你 代码: #include ...

  10. (匹配 二维建图) Antenna Placement --POJ --3020

    链接: http://poj.org/problem?id=3020 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82834#probl ...