美文网首页
流程控制-分支结构

流程控制-分支结构

作者: 让思念入土 | 来源:发表于2019-01-24 20:42 被阅读0次

    顺序结构: 由上而下的执行代码

    分支结构:在由上而下的执行代码过程中,根据不同的条件执行不同的代码

    常见分支结构:

    if语法
    
    if(条件表达式){
       条件成立执行的代码
    }
    

    如:如果年龄大于等于 18 岁,允许进网吧。

    
    var usrAge = prompt('请输入您的年龄:');
    if(usrAge >= 18){
        alert('您的年龄合法,欢迎来天际网吧享受学习的乐趣!');
    }
    
    if-else语法
    //if 如果  else 否则 
    // 条件成立执行代码,否则执行另外的代码
    
    if(条件表达式){
       条件成立执行的代码
    }else{
       条件不成立执行的代码
    }
    

    案例:判断闰年:

    
      // 能整除4且不能整除100的为闰年.(如2004年就是闰年,1901年不是闰年)
        // 能够被 400 整除的 就是闰年
            if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
    
             alert("这个年份是闰年");
    
            } else { // 剩下的是平年
               alert("这个年份是平年");
          }
    
    if-else-if语句
    
    //适合于检查多重条件。
    if (条件1表达式) {
        // [如果] 条件1 成立执行的代码
    } else if (条件2表达式)  {
        // [否则] [如果] 条件2 成立执行的代码
        // 注释:条件1 不成立,但是条件2 成立
    } else if (条件3表达式)  {
        // [否则] [如果] 条件3 成立执行的代码
        // 注释:条件1 2 不成立,但是条件3 成立
    } else {
        // 上述条件都不成立执行的代码
    }
    

    案例:

    
           var score=prompt('请输入你的分数');
            if(90<=score){
                alert('A');
            }else if(80<=score&&score<90){
                alert('B');
            }else if(70<=score&&score<80){
                alert('C');
            }else if(60<=score&&score<70){
                alert('D');
            }else{
                alert('E');
            } 
    
    三元表达式:

    表达式1?表达式2:表达式3

    如果表达式1为true ,则整个表达式的结果就是表达式2的值,如果表达式false,则整个表达式的结果就是表达式3的值.
    就类似于 if else 的简写

    
    var a = 10;
    var result = 0;
    if(a > 7){
        result = 21;
    }else{
        result = 12
    }
    alert(result); // 21
    

    等价于

    
    var a = 10;
    var result = (a > 7) ? 21 : 12;
    

    switch case 结构:

    当要针对变量多种不同值执行不同的代码时,就可以使用 switch。
    使用结果表达式 的值 和 各个 case 中的值 进行相等比较

    
    switch( 变量 ){ 
        case value1:
            //表达式结果 等于 value1 时 要执行的代码
            break;
        case value2:
            //表达式结果 等于 value2 时 要执行的代码
            break;
        default:
            //表达式结果 不等于任何一个 value 时 要执行的代码
    }
    

    执行顺序:

    1. 先 从变量中 获取一个 值,随后 表达式的值 会与结构中的 case 的值 做比较。

    2. 如果存在匹配 全等(===) 即( 变量值 === value 值) ,则与该 case 关联的 代码块 会被执行,
      并在遇到 break 时停止,整个 switch 代码执行结束。

    3. 如果所有的 case 的值 都和 表达式值 不匹配,则 执行 default里的代码。

    4. case 后面的值 通常都是一个常量。

    案例:

    
    var strResult = '';
    var usrNum = prompt('请输入一个 1- 7 之间的数字:'); // 接收用户输入的一个数字字符串
    usrNum = parseInt(usrNum);// 将数字字符串 转成 整数数值
    switch(usrNum){
        case 1:
            strResult = '星期一';
            break;
        case 2:
            strResult = '星期二';
            break;
        default:
            strResult = '星期天';
    }
    alert('您输入的数字对应的是' + strResult);
    

    switch与if对比:

    • switch...case通常处理case为比较确定值(常量)的情况,而if…else…更加灵活范围判断

    • switch 进行一次条件判断后直接执行到程序的条件语句。而if…else 有几种条件,就得判断多少次。

    • 当只有分支比较少的时候,if效率比 switch高

    • 分支比较多,是switch的效率比较高,而且结构更清晰

    相关文章

      网友评论

          本文标题:流程控制-分支结构

          本文链接:https://www.haomeiwen.com/subject/jwgujqtx.html