欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JS分支语句0312

程序员文章站 2022-06-08 19:06:18
...

if判断的基本语法形式

  1. if( 表达式 ){执行程序}
    当表达式的结果为true,执行程序
    当表达式的结果为false,没有执行程序
    JS分支语句0312

  2. if(表达式){程序1}else{程序2}
    当表达式 结果为 true , 执行 程序1
    当表达式 结果为 false, 执行 程序2
    JS分支语句0312

  3. if(条件1){程序1}else if(条件2){程序2}else if(条件3){程序3}…
    当满足条件1,执行程序1,
    当满足条件2,执行程序2…
    满足哪个条件就执行哪个条件的程序
    判断的顺序是从上至下,如果满足了第一个条件,之后的条件都不会再判断和执行
    最终只会执行一个程序
    如果所有的条件都不满足,是没有执行内容的
    JS分支语句0312

  4. if(条件1){程序1}else if(条件2){程序2}else if(条件3){程序3}…else{}
    从第一个条件开始判断,满足那么个条件就执行对应的程序
    满足当前条件之后,执行对应的当前程序,之后的else if(),else 不会执行
    如果所有的条件都不满足,会执行 else 中的程序
    JS分支语句0312

if语句,写判断条件时,要注意边界值的设定

成绩输出

     // 根据成绩输出 内容
    // 定义一个随机数,生成的数值是 1-100范围之内的随机整数
    var res = parseInt(Math.random()*100+1);
    // console.log(res);

    // 程序执行从第一个条件来判断,判断res == 100 
    // 如果满足条件执行执行程序
    if(res == 100){
        console.log(`恭喜您考取的${res}分,获得最强王者称号`);
    
    // 当我们进入到第二个条件时,一定是第一个条件不满足
    // 也就是 满足 大于 90的条件 但是 一定不会是 100
    // 如果是100,就执行了第一个条件
    }else if(res >= 90 ){
        console.log(`恭喜您考取的${res}分,获得星耀称号`);
    // 当执行到第三个条件时,第一个和第二个条件一定是不满足的
    // 此时就保证这个数值 是 小于 90的
    }else if(res >= 80 ){
        console.log(`恭喜您考取的${res}分,获得钻石称号`);
    }else if(res >= 70 ){
        console.log(`恭喜您考取的${res}分,获得铂金称号`);
    }else if(res >= 60 ){
        console.log(`恭喜您考取的${res}分,获得黄金称号`);
    }else if(res < 60 && res >= 0){
        console.log(`恭喜您考取的${res}分,这个游戏不适合你,还是删除了吧`);
    
    // 一般else 做容错处理
    }else {
        console.log('您的考试成绩有误,请您在好好瞅瞅')
    }

总结

  1. if语句()中的条件,可以根据项目需求做调整,只要能实现项目需求,爱怎么写怎么写
  2. else 一般做容错处理,当有非负数据参与执行,我们执行else的程序
  3. else 之后没有(),没有条件,不要多加内容

switch语句

switch语句也是判断语句形式的一种;功能与if判断基本相同,只是使用环境不同。
if语句,往往做比较判断,判断是范围;逻辑运算符,使用if语句做判断。
switch 判断等于,某个具体数值时,我们使用switch语句
switch的执行效率高于if判断
switch一定能写成if,但是有些if不适合写成switch
JS分支语句0312

    // 有商品编号 1-5 5种商品 , 根据不同的商品编号,输出商品信息
    var num = parseInt(Math.random() * 5 + 1);
    if (num == 1) {
        console.log(`随机数是${num},输出的是第一种商品的信息`);
    } else if (num == 2) {
        console.log(`随机数是${num},输出的是第二种商品的信息`);
    } else if (num == 3) {
        console.log(`随机数是${num},输出的是第三种商品的信息`);
    } else if (num == 4) {
        console.log(`随机数是${num},输出的是第四种商品的信息`);
    } else if (num == 5) {
        console.log(`随机数是${num},输出的是第五种商品的信息`);
    } else {
        console.log('您输入的商品编号有误,无法查询对应的商品信息');
    }
    // 如果判断是否等于某个值,例如 5 
    // 需要从第一个条件开始执行判断,执行到5,要多判断4次 false
    // 如果判断较多,执行效率就会比较低
    // 此时就推荐使用 switch 语法

    // switch 是 根据变量的数值,来进行定位
    // 如果 num 数值是5,直接定义到5,执行对应的程序内容
    // 不会做过多的判断,效率就比if判断的效率高
    /*
        switch(变量){
            case 变量的数值1:
                执行的对应的程序1
                break;
            case 变量的数值2:
                执行的对应的程序2
                break;
            case 变量的数值3:
                执行的对应的程序3
                break;
            
            ..... 可以无限写

            default
                执行的对应的程序
                break;

        }

        case     是变量对应的数值,要执行的对应程序
                 对于数值的判断,执行的 === 严格比较 / 全等判断 
        
        defalut  对应的是 if语句中的 else
                 也就是当变量的数值,不满足所有的 case 时 , 执行的程序

        break    终止语句
                 swith默认会从定位的位置开始,执行之后所有的程序
                 除非遇到break关键词,才会终止程序的执行
                 因此,每一个case的定位,每一种执行情况,都要配合一个break 做终止
                 防止程序执行的冲突
                 最后一个程序,可以不加 break,加不加,看个人习惯
    
    */


    switch (num) {
        case 1:
            console.log(`随机数是${num},输出的是第一种商品的信息`);
            break;
         
        case 2:
            console.log(`随机数是${num},输出的是第二种商品的信息`);
            break;
           
        case 3:
            console.log(`随机数是${num},输出的是第三种商品的信息`);
            break;
        case 4:
            console.log(`随机数是${num},输出的是第四种商品的信息`);
            break;
           
        case 5:
            console.log(`随机数是${num},输出的是第五种商品的信息`);
            break;
            
        default:
            console.log('您输入的商品编号有误,无法查询对应的商品信息');
            break;
    }
if判断 和 swith判断

if判断 : 多用于 判断范围 逻辑表达式 判断的嵌套
swith判断 : 全等判断 swith穿越

    // 随时获取月份 , 输出当月是多少天
    // 随机生成1-12的随机数
    var month = parseInt(Math.random()*12+1);
    if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12 ){
        console.log(`现在是${month}月,这个月有31天`);
    }else if(month == 4 || month == 6 || month == 9 || month == 11){
        console.log(`现在是${month}月,这个月有30天`);
    }else if(month == 2){
        console.log(`现在是${month}月,这个月有28天,如果是闰年,是29天`);
    }else{
        console.log('您的月份输出错误,您过的是地球的日子吗?');
    }
swith判断的穿越语法

如果定位是满足第一种情况,会从定位位置,一直向下执行,输出内容,遇到break再停止

    // 也就是 month 等于 1.3.5.7.8.10.12 时,最终穿越到,相同的程序执行
    switch(month){
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            console.log(`现在是${month}月,这个月有31天`);
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            console.log(`现在是${month}月,这个月有30天`);
            break;
        case 2:
            console.log(`现在是${month}月,这个月有28天,如果是闰年,是29天`);
            break;
        default:
            console.log('您的月份输出错误,您过的是地球的日子吗?');
            break;
    }

随机数

在JavaScript中,有自己生成随机数的语法
与PHP,Python,Java都不同
Math.random() 随机生成 0-1的小数,可以是0,永远不会是1
console.log( Math.random() );
一般使用时,都是生成一个随机整数
有生成随机整数的公式
parseInt() 获取数值的整数部分
如果需要生成数值的范围是 a - b 那么公式是
随机数*(b+1-a) + a
结合起来 parseInt( Math.random() * (b+1-a) + a )

    // 例如要 生成 10 - 20 之间的整数 , 可以 取到10 和 20

    // parseInt( Math.random() * ( 20+1-10) + 10 )  

    console.log( parseInt( Math.random() * ( 20+1-10) + 10 ) )

计算机的三大流程控制语句

顺序控制语句;

计算机程序的默认执行顺序从上至下,从左至右

分支控制语句

if switch
根据条件判断的结果,执行程序
那么没有执行内容,要么只有一种执行结果

循环控制语句

while for for…in forEach
据给定的循环条件来循环往复的执行程序
while循环语句
基本语法:
循环语句的基本语法格式 由 4 部分组成

  1. 设定循环变量的初始值

  2. 判断进入循环的条件

  3. 循环体

  4. 步长
    JS分支语句0312

     var i = 1;
     while(i <= 5){
         console.log('你好!');
         i++;
     }
     console.log(i)
    
     // 当循环执行时,只有第一次循环时,执行var i = 1
     // 之后的循环,是 while 程序内部的循环, 判断条件,循环体,步长之间的循环
     // var i = 1; 只会执行一次
    

// while 循环的 执行步骤 和 执行原理
// i的数值 判断进入循环的条件 循环体 步长
// 第一次循环 i是1 i<=5 — true 进入循环 输出 i++ — i是2
// 第二次循环 i是2 i<=5 — true 进入循环 输出 i++ — i是3
// 第三次循环 i是3 i<=5 — true 进入循环 输出 i++ — i是4
// 第四次循环 i是4 i<=5 — true 进入循环 输出 i++ — i是5
// 第五次循环 i是5 i<=5 — true 进入循环 输出 i++ — i是6
// 第六次循环 i是6 i<=5 — false 不再进入循环,整个循环终止

// 一共执行了5次输出,在第六次循环时终止
// 当循环停止是, 循环变量 i 是

总结:
循环语句分成 4个部分

  1. 定义循环变量的初始值
    通过循环变量的数值和判断进入循环的条件,来定义循环的次数

  2. 定义判断进入循环的条件
    如果 条件 执行结果是 true , 会进入循环 { } 执行循环体内容
    如果 条件 执行结果是 false , 终止循环,整个循环结束

  3. 循环体
    没次循环执行的程序内容

  4. 步长
    每次执行,循环变量改变的数值

     // 循环执行的步骤 过程  
     // 12(true)34 - 2(true)34 - 2(true)34 - 2(false)终止循环
     // 1, 如果我们的循环变量,不参与循环体的程序执行
     // 那么循环变量和步长,可以任意设定,只要能满足输出次数即可
     // 例如,要输出5次,张老师帅呆了
     // var i = 101;
     // while(i<=110){
     //     console.log("张老师,帅呆了");
     //     i+=2;
     // }
    
     // 2,实际操作中,循环变量 i 往往要参与循环体的执行
     // 此时 循环变量初始值的设定 和 步长 就要满足条件
    
     // 现在要输出 1-10 的数值
    
     //          i的数值     判断条件         循环体            步长        
     // 第一次     i是1    i<=10---true   输出i,也就是1      i++ --- i是2
     // 第二次     i是2    i<=10---true   输出i,也就是2      i++ --- i是3
     // 第三次     i是3    i<=10---true   输出i,也就是3      i++ --- i是4
     // .......
     // 第十次     i是10   i<=10---true   输出i,也就是10      i++ --- i是11
     // 第十一次   i是11   i<=10---false 终止循环
     // var i = 1;
     // while(i <= 10){
     //     console.log(i);
     //     i++;
     // }
    
     // 3, 循环和if的配合
    
     // 输出 1 - 10 中 , 所有的偶数
     // 思路1: 循环生成1-10的所有整数
     //        然后判断 这个数值是否是 偶数,如果是,执行输出,如果不是没有操作
    
     var i = 1;
     while(i <= 10){
         // 嵌套在循环{ } 中的 if判断
         // 这个if判断,也是循环体的一部分
         // 每次循环,if判断也会执行
         // 如果这个循环变量 i 的数值 可以被 2整除,也就是 此时的i 是偶数
         // 就执行输出
         // 否则就直接执行 步长 i++ 没有输出内容
         if(i % 2 == 0){
             console.log(i + '是偶数');
         }
         i++;
     }
     // 总结,这种思路,会循环10次,执行10次判断,5次是true,有输出,5次是false没有输出内容
    
     // 思路2:优化程序
     // 思路1:是生成1-10的所有数值,判断是偶数输出
     // 思路2:可以直接生成1-10的偶数,直接输出,循环次数少,并且还不用判断,效率会提高---程序优化
     // 所谓的偶数,相邻的两个偶数相差是2,偶数之间,步长是2
     // 只要找到第一个偶数,将步长设定为2,获取到的就都是偶数了
     // 1-10之间,第一个偶数是2 , 步长是 2 也就是 i+=2
     var i = 2;
     while(i <= 10){
         console.log(i);
         i+=2;
     }
    
    
     // 输出 1-100 中 可以被 2和3,整除的数值
    
     // 思路1: 循环生成 1-100所有的数值
     //       如果当前数值可以被2和3整除,就输出这个数值
    
     var i = 1;
     while(i <= 100){
         if(i % 2 == 0 && i % 3 == 0){
             console.log(i + '可以被2和3整除');
         }
         i++;
     }
    
     // 思路2,可以被2和3整除,也就是可以被6整除
     // 相邻的两个数值,步长是6
     // 找到第一个被2和3整除的数值,并且设定步长是6,就可以循环生成所有需要的数值
     // 就不想要判断,可以直接输出
    
     // 1--100,第一个可以被2和3整除的数值是6
     var i = 6;
     while(i <= 100){
         console.log(i);
         i += 6;
     }
    

死循环

所谓的死循环值的是,循环会一直判断进入条件,判断结果一直是true
循环也就是会一直执行,不会停止
这样的循环称为死循环

    // var i = 1;
    // while(i <= 10){
    //     window.alert(i);
    //     i--;
    // }

for循环

所谓的for循环,是完全等价于 while 循环
任何一个for循环都可以写成while循环,任意一个while循环,也可以写成for循环
while循环和for循环,都有各自的应用场景
如果是: 未知循环次数的 循环程序,往往使用while循环来执行
所谓的未知循环次数,指定是,判断进入循环的条件与循环变量无关

    // demo
    // 生成一个随机的3位数 100 - 999
    // 需要生成数值 666 , 看随机多少次,获取到的666

    // 实现的思路 : 循环执行 随机数 每次循环都会有一个新的随机数的生成
    //             当这个随机数,不是 666 的时候,继续进入循环,生成新的随机数
    //             当这个随机数,是 666 的时候,停止循环

    // 初始时,初始值只要不是666,可以进入循环即可
    var num = 0;

    // 定义一个变量,来计算循环的次数
    // 这个变量的初始值 是 0
    var time = 0;

    // 此时判断进入训话的条件是 num 中存储的数值
    // 循环变量,和循环变量的步长,与 循环执行,就没有关系了
    while( num != 666 ){
        // 通过循环,赋值一个随机3位数
        num = parseInt(Math.random()*(999+1-100) + 100 );
        // 每次循环,记录训话次数的变量,自增1,表示循环过一次
        time++;
    }

    // 循环执结束,num 中 存储的数值,就是666
    console.log(num);
    console.log(time);
相关标签: 笔记 学习总结