day02 运算符表达式及相关控制语句

控制语句

控制语句是对应程序的一个控制,他分为对应的条件控制语句和循环控制语句

条件控制语句是根据对应的条件来执行对应的代码,循环控制语句是根据对应的条件来执行多次重复的 代码

条件控制语句

常见的控制语句

  • if else (根据对应的boolean条件值来进行判断 也就是说你传入的条件返回的不是boolean 他会 转为对应的boolean类型)

  • switch case (根据对应的值来进行比对 里面采用的是=== 会自动进行比对)

if else讲解

if(条件表达式){
对应满足条件执行的代码
}else{
不满足条件执行的代码
}

示例

//判断输入一个数值是奇数还是偶数
var number = prompt('请输入一个数值') //浏览器的一个弹窗 里面可以输入对应的内容 这个内容会
返回给你 类型是字符串
// console.log(`number`, number);
// if(number%2==0){
// console.log(`当前输入的是偶数`);
// }else{
// console.log(`当前输入的是奇数`);
// }
//如果返回的值不是一个boolean类型的值 自动转为boolean类型
if(number%2){//如果为0就是false
console.log(`当前输入的是奇数`);
}else{
console.log(`当前输入的是偶数`);
}

多分支结构(else if)

多分支结构只有上面有一个满足了条件 下面的都将不会再运行

if(条件1){
满足条件执行的代码
}else if(条件二){
满足条件执行的代码
}...
else{
所有条件都不满足执行的代码
}

示例

//判断输入一个数值是奇数还是偶数
var number = prompt('请输入一个数值') //浏览器的一个弹窗 里面可以输入对应的内容 这个内容会
返回给你 类型是字符串
console.log(`number`, number);
// if(!(number%2) && number%2!=0){ //如果是NaN 不是0
// console.log(`当前输入出错`);
// }else if(number%2==0){
// console.log('当前是偶数');
// }else{
// console.log('当前是奇数');
// }
// if(isNaN(number%2)){ //如果是NaN
// console.log(`当前输入出错`);
// }else if(number%2==0){
// console.log('当前是偶数');
// }else{
// console.log('当前是奇数');
// }
//利用NaN加任意数值得到都是NaN
if(!(number%2+Infinity)){ //如果是NaN
console.log(`当前输入出错`);
}else if(number%2==0){
console.log('当前是偶数');
}else{
console.log('当前是奇数');
}

if else的嵌套

if else允许多层嵌套的

if(条件1){
if(子条件1){
满足子条件1执行的代码
...
}else if(子条件2){
满足子条件2执行的代码
}else{
不满足子条件执行的代码
}
}else{
不满足条件1执行的代码
}

示例

//输入一个值判断奇偶
var number = prompt()
//判断是否输入出错
if(number == ''){
console.log('输入内容不允许为空');
}else if(!isNaN(Number(number))){
//当前不是NaN
if(number%2==0){
console.log('当前为偶数');
}else{
console.log('当前为奇数');
}else{
//当前是NaN的情况
console.log('输入错误');
}

if else 支持多层嵌套 一般我们的嵌套不会超过俩层

if else 一些简化操作

当你的if 块和或者else块只有一行代码的时候是可以省略{}的

if(1>2)
console.log('你好')
else if(2>3)
console.log('世界')
else
console.log('hello world')

每句代码的结束是可以有分号 可以没有分号的 但是一般建议加上;(后续我们需要减少对应的编写的文 件的大写我们会把所有的js在一行)

switch case

switch(值表达式){
case 值1:
执行的代码
break;
case 值2:
执行的代码
break;
defulat:
上面都不满足 执行的代码
}

示例

//根据输入的值判断对应的执行的操作
// 1 打印游戏 2 打印睡觉 3 打印吃饭
var number = prompt() //字符串
//switch里面采用的是=== 类型必须相等
//在switch 如果没有break 他会从满足条件那句开始直到最后
//break 退出 当前这个switch不执行了
switch(number){
    case"1":
        console.log("游戏")
    case"2":
        console.log("睡觉")
    case"3":
        console.log("吃饭")
    default:
        console.log('活着');
}

switch支持多个值

switch(number){
    case"1":
        console.log("游戏")
    case"2":
        console.log("睡觉")
    case"3": case"4" case"5"
        console.log("吃饭")
    default:
        console.log('活着');
}

switch支持嵌套

//支持嵌套
switch(1){
    case 1:
        switch(2){
            case 2:
                console.log('我是2');
                break;
            default:
                console.log('hello');
        }
        break;
    default:
        console.log('default');
}

if else 和switch的对比

if else 常用于区间判断 switch case用于值判断(枚举判断)

if else的效率低于switch case(用空间换时间)如果当前只有某个值的判断建议使用switch

总结

  • if else 是用于区间判断 switch case是用于值判断

  • switch case里面使用的判断是恒等判断 (支持所有类型的值)

  • if else 支持嵌套 switch case也支持嵌套 (一般建议不要嵌套俩层以上)

  • if 可以单独用

  • if 的多分枝采用 else if来实现

  • 对应的switch 里面的多分支采用多个case连用

  • if (else if 、else)后面的代码如果只有一行那么可以省略{} 但是我们一般不建议省略

  • if 里面的条件表达式返回的是对应的boolean类型的值 如果当前的式子不是条件表达式 他会自动 转换boolean类型

  • if else的效率低于switch case(用空间换时间)如果当前只有某个值的判断建议使用switch(枚举 上一般使用switch)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值