表达式和条件控制语句

160 阅读4分钟

表达式和条件控制语句

分支结构

顺序结构:从上至下,从左往右的执行顺序 分支结构(选择结构):根据不同的条件决定程序的执行走向 循环结构:需要不断重复执行同一操作的结构为循环结构

表达式

  • 算术表达式由算术运算符组成的表达式(返回的对应的结果)
  • 逻辑表达式由逻辑运算符组成的表达式(返回的对应的值)
  • 条件表达式由比较运算符组成的表达式(返回对应的boolean类型的值)

分支结构:条件判断为真才会进去执行,被判定为false的值有 0 -0 false null "" undefined NaN

if(条件表达式){
    //条件为真时进来
    执行语句
}


if(条件表达式){
    //条件为真进来
    执行语句1
}else{
 //条件为假进来
    执行语句2
}


进行多次的if判断
if(条件表达式1){
    //条件表达式1为真进来
    执行语句1
}else if(条件表达式2){
  //条件表达式2为真进来
    执行语句2
}else{
    //条件表达式为假进来
    执行语句3
}

控制语句

概述

所有的语言都具备对应的控制语句,主要分为循环控制语句、条件控制语句。循环控制语句主要是控制对应的重新执行多次操作.条件控制语句主要控制的是对应的条件是否满足,进入执行对应的代码。

条件控制语句分类

  • if else
  • switch case

if else 讲解

基础语法

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

示例

//如果周末就放假   否则就上班
    var Friday = true
    //满足条件进入
    if(haveMoney){
        console.log('放假')
        }else{ //不满足条件进入
        console.log('上班')
}

示例

同级它只会进入一个if块 (最先满足条件)

if else嵌套

if else 支持多级嵌套

if(条件1){
    //满足条件1进入
    if(条件2){
        //满足条件2进入
            ...
            }else{
            //不满足条件2
           ....
        }
        }else{
    //不满足条件1
    ...
}

建议if else嵌套不要超过俩层

if else的简化操作

如果if块里面或else块里面只有一行 那么可以省略对应的{}

示例

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

switch case

基础写法

//表达式 返回一个值
switch(表达式){
    //如果值为值1那么就执行值1下的相关操作
    case1:
        操作
        break; //跳出switch块
    //如果值为值2那么就执行值2下的相关操作
    case2:
        操作
        break; //跳出switch块
    //如果值为值3那么就执行值3下的相关操作
    case3:
        操作
        break; //跳出switch块
    //都不满足默认执行的操作
    default:
        操作
}

switch支持嵌套

switch(n){
    case 1:
        console.log("进入第一层switch")
        switch(i){
            case 2:
                console.log("gameOver")
                break;
            default:
                console.log("欢迎光临 请慢走")
        }
        break;
    default:
        console.log("输入错误")
}
if elseswitch的区别的应用

if else 和 switch的区别的应用

  • if else 一般用于区间判断,switch用于值的判断(运用的是===)
  • switch的执行效率高于if else(用空间换时间)
  • switch 适合实际值的列举(枚举) if使用范围内容条件判断
  • switch空间复杂度高于if switch时间复杂度低于if 枚举相当于一个箱子 箱子里面有很多对应的值 每个值都有对应的名字 箱子--1 箱子--2 通过枚举的名字来获取里面的内容(里面内容为常量(不变的值))

总结

  • if else一般用于区间判断,在if里面的条件可以为值也可以为表达式(最终都会被解析为boolean类型的值)
  • if 多分支结构使用else if来进行扩展
  • 在if多分枝的情况下只会进入第一个满足条件的,其他不会进入
  • if支持嵌套的,一般建议嵌套层数不要超过两层
  • switch是进行值的判断,而且运用恒等===进行比对(必须值和类型都同步)
  • switch它也可以完成区间的判断,但一般不建议。
  • switch中的case块可以多个一起使用,如果其他没有break来跳出switch块,那么就会进入下一个分支,从满足条件一直走到底。
  • break是用于跳出当前的switch块。那么后续的分支不再执行
  • switch的default是用于处理上述条件都不满足的情况下的内容