02-JS逻辑分支

一、if分支语句

1. if单分支

只有一个选择,选择执行或不执行

if(age>18){
    alert("成年了")
}
2. if双分支

有两个选择,条件满足的时候选择1,条件不满足的时候选择2

if(age>18){
    alert("成年了");
}else{
    alert("未成年");
}
3. if多分支

表示有很多的选择,满足某个条件就去执行对应的代码

var score = Number(prompt("请输入成绩:"))
if(isNaN(score)){
    alert("输入不正确");
}
else{
    if(score>=0 && score<60){
        alert("不及格");
    }
    else if(score>=60 && score<100){
        alert("及格");
    }
    else{
        alert("输入不正确");
    }
}
4. if分支嵌套

分支进行嵌套使用,表示有多个选择

var a,b,c;
if(a>b){
    if(a>c){
        alert("变量a最大");
    }
    else{
        alert("变量c最大");
    }
}
else{
    if(b>c){
        alert("变量b最大");
    }
    else{
        alert("变量c最大");
    }
}
5. if分支的细节
//1. if条件的结果是布尔值,所以可以将布尔值当做条件放入if的小括号中
if(true){
    alert("真");
}
else{
    alert("假");
}
//2. 如果将别的非布尔值的表达式或者数据放入条件括号中,会发生隐形的类型转换
if(2){//这里的2被转换成了布尔值
    console.log(2);
}

二、switch分支语句

switch:控制开关,也可以叫做多路判断、case穿透

case穿透:表示多个条件是一样的时候可以执行相同的代码段,可以省略掉break一直往下执行

//switch语法
switch(变量){
    case1:
        变量和值1相等的时候执行的代码块
        break;
    case2:
        变量和值2相等的时候执行的代码块
        break;
        ...
    default:
    	不满足条件时候执行代码块
}
  1. case理解为if来判断这个变量是否等于某个值
  2. break表示当前分支执行后就结束switch的运行,后续代码不再运行
  3. default可以理解为判断语句中的else

使用场景:

  1. 如果判断的条件比较复杂,使用if分支
  2. 条件是确定的值,分两种情况
    • 如果判断的分支小于等于3个,使用if,此时的效率和switch一样
    • 如果大于3个,就使用switch
  3. switch判断使用的是全等于(===)

三、三元运算符

  1. 概念:是if else的简写方式,还可以称为三目运算符

  2. 语法:判断条件 ? 条件为true时候执行的代码 : 条件为false时候执行的代码

    判?真:假

    a>b ? console.log(a) : console.log(b)
    

案例:判断3个变量之间的大小

a=6;b=5;c=3
a>b?(a>c?alert("a是最大值"):alert("c是最大值")):(b>c?alert("b是最大值"):alert("c是最大值"))

四、隐式类型转换

  1. 使用Number()、parseInt()这些方法进行转换的都是显式转换
  2. 有一些运算会偷偷的进行类型转换,叫做隐式转换
  1. 数学运算:只有数字类型才能进行数学运算,有一些特殊情况

    • 两个变量都是字符串的时候,使用加号会进行字符串的拼接
    • 如果在加号的一边有一个是字符串,先转换成字符串再进行拼接
    • 除了加号以外其他的符号会隐式转换,转换为数字类型进行计算
    var a=2,b='1'
    console.log(a+b) //'21'
    console.log(a-b) //1
    
    //少见情况
    var c,c1=null
    console.log(c+c1) //NaN
    
  2. 比较运算

    • 数字和字符串之间的比较,字符串隐式转换为数字类型进行比较
    • 当字符串里面是中文汉字或是特殊符号时,根据ASCII和unicode码表进行比较
    //特殊情况,NaN无法进行比较,也无法跟自己进行比较
    console.log(NaN==NaN)//false
    

VSCODE插件:Bracket Pair Colorizer 调括号的颜色

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

echozzi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值