js基础-流程控制的三种结构

201 阅读3分钟

顺序结构:(默认)代码从上往下依次执行

分支结构 代码根据条件执行

1.if语句

- if(条件 true/false){ 条件成立时需要执行的代码 }:

1.用于单个条件判断

2.条件代码的类型:

  `(1)关系表达式: 结果一定是布尔类型`

  `(2)布尔类型的值`

  `(3)其他值: 会隐式转换成布尔类型来判断条件`

- if-else双分支: if(条件){ }else{ }

1.语法是if(条件){ 条件成立时需要执行的代码 }else{ 条件不成立时需要执行的代码 }

2.注意:用于互斥的两个条件, if{}与else{}一定只会执行一个。不会都执行,也不会都不执行)

- .if-else if-else多分支: if(条件1){ }else if(条件2){ }else{ }

1.用于多个条件判断

2.所有的{}最多只会执行一个,只有当上面条件不成立,才会进入下面条件判断

3.必须以if开头, 后面可以写多个else if,结尾else可以省略

2.三元表达式 表达式?代码1:代码2

  • 1.如果表达式成立则执行代码1,否则执行代码2

  • 2.如果代码1或者代码2有运算结果则三元运算式的结果就是他们其中的一个

  • 3.三元运算符做的事和if-else类似,只是代码更简洁

3switch-case:固定值匹配

  • 1.表达式的结果要和值一定是全等的关系===

  • 2.break作用:结束该switch语句,所以一般情况下要加上,如果不加上则会发生穿透

    -   穿透:从上一个case代码快执行到下一个case代码快
    
    -   break关键字的作用就是防止穿透
    
  • 3.default语句可以写在任何地方,也可以省略,但是一般写在最后,这是一种代码规范

例如:

 <script>
    /**合理穿透:当存在多种值需要执行相同代码时使用穿透可以节省代码
     * 用户输入某一个月份,告诉用户这个月份属于什么季节
     * 12,1,2 冬季
     * 3,4,5 春季
     * 6,7,8 夏季
     * 9,10,11 秋季
     */
    let month = +prompt("请输入月份");
    switch (month){
        case 12:
        case 1:
        case 2:
            alert("冬季");
            break;
        case 3:
        case 4:
        case 5:
            alert("春季");
            break;
        case 6:
        case 7:
        case 8:
            alert("夏季");
            break;
        case 9:
        case 10:
        case 11:
            alert("秋季");
            break;
        default:
            alert("你来自火星吧?");
            break;
    }

</script>

循环结构:代码重复执行

1.循环结构的两种语法

-while循环

while循环语法 while( 条件 true/false ){ 循环体:需要重复执行的代码 }

    执行规则
        1.判断条件是否成立
            1.1 true : 则执行循环体代码
            1.2 false : 循环结束,执行大括号后面的代码
        2.重复步骤1

示例如下:

      //1.声明变量记录循环次数(循环变量)
      let num = 1
      //2.循环条件
      while (num <= 10) {
        console.log("我爱敲代码")
        //3.循环变量自增
        num++
      }

- for循环

  • for循环: 1.声明循环变量 2.循环条件 3.循环变量自增 写在( )中,代码更加简洁易读

  • 语法: for(语句1;语句2;语句3){ 循环体:需要重复执行的代码 }

  • 执行规则:

          1. 执行语句1(声明循环变量)
          
          2. 判断语句2结果是否成立(循环条件)
              2.1 true : 执行循环体
                  * 2.1.1 执行语句3(循环变量自增)
              2.2 false: 循环结束,执行大括号后面的代码
              
          3. 重复步骤2
          
    

    示例如下:

     for(let i = 1; i <= 3;i++){
             console.log('我爱敲代码')
         }
    
         console.log('我还能继续学')
         
    

2.循环结构的应用场景

找出指定范围符合条件的数:

筛选功能
  (1)遍历指定范围的数
  (2)找出符合条件的数

求累加和 :

(1)声明变量存储结果
(2)遍历数量
(3)累加

求最大值/最小值

(1)声明变量存储结果

`求最大值 let max = -Infinity`
`求最小值 let max = Infinity`

(2)遍历数量

(3)依次比较大小

3.循环结构的关键字

continue : 结束本次循环体,立即进入下一次循环判断 * continue关键字只能用于循环语句

break: 结束整个循环语句,立即执行大括号后面的代码 * break关键字可以用于 循环语句 + switch-case