流程控制-分支结构

2019-01-24  本文已影响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对比:

上一篇下一篇

猜你喜欢

热点阅读