05-JavaScript流程控件

第5章 流程控制

程序的基本结构有三种:
1、顺序结构:从上到下顺序执行。程序默认就是由上到下顺序执行的。
2、分支结构:根据不同的情况及判断,执行对应的代码。
3、循环结构:重复执行一段代码。

5.1 分支结构

1、if语句

语法结构

    if(/*条件语句*/){
        //代码块
    }
    if(/*条件语句*/){
        //成立执行的代码块
    }else{
        //不成立执行的代码块
    }
    if (/* 条件1 */){
        // 成立执行语句
    } else if (/* 条件2 */){
        // 成立执行语句
    } else if (/* 条件3 */){
        // 成立执行语句
    } else {
        // 最后默认执行语句
    }

案例

    //获取两个数字中最大值
    var a = 100;
    var b = 200;
    if(a>b){
        console.log(a);
    }else{
        console.log(b);
    }
    
    //判断一个数是奇数还是偶数
    var n = 10;
    if(n%2 == 0){
        console.log('偶数');
    }else{
        console.log('奇数');
    }
    
        /*
    * 例子:
    * 获取考试的分数,如果成绩是在90(含)分以上的,则显示级别:A
    * 如果成绩是大于等于80的则:B
    * 如果成绩是大于等于70的则:C
    * 如果成绩是大于等于60的则:D
    * 如果成绩是小于60的则:E
    *
    * */
    var score = 91;
    if (score >= 90) {
        console.log("A");
    } else if (score >= 80) {
        console.log("B");
    } else if (score >= 70) {
        console.log("C");
    } else if (score >= 60) {
        console.log("D");
    } else {
        console.log("E");
    }
    
    //判断一年年份是闰年还是平年
    //依据:闰年能被4整除,但不能被100整除; 或者能被400整除。
    
    var n = 2016;
    if(n%400 == 0){
        console.log('闰年');
    }else{
        if(n%4 == 0 && n%100 !=0){
            console.log('闰年')
        }else{
            console.log('平年');
        }
    }

2、三元运算符

    表达式1 ? 表达式2 : 表达式3
    是对if……else语句的一种简化写法

案例

    // 是否年满18岁
    var age = 18;
    var str = age>=18 ? '成年' : '未成年';
    console.log(str);
    
    // 从两个数中找最大值
    var a = 10;
    var b = 19;
    var max = a > b ? a : b;
    console.log(max);

3、switch语句

语法格式


switch(表达式){
    case 常量1:
    语句1;
    break;

    ...

    case 常量n:
    语句n;
    break;
    
    default:
    语句;
    break;
}

功能说明

switch 语句根据表达式的值,依次与case常量值进行比较:
    如果相等,则执行其后的语句段,只有遇到 break 语句,或者 switch 语句结束才终止;
    如果不相等,则继续查找下一个 case。
    switch 语句包含一个可选的 default 语句,如果在前面的 case 中没有找到相等的条件,则执行 default 语句,它与 else 语句类似。

default 语句与 case 语句简单比较如下:

  • 语义不同:default 为默认项,case 为判例。
  • 功能扩展:default 选项是唯一的,不可以扩展。而 case 选项是可扩展的,没有限制。
  • 异常处理:default 与 case 扮演的角色不同,case 用于枚举,default 用于异常处理。

案例

    var id = 1;
    switch (id) {
        case 1 : 
            console.log("普通会员");
            break;
        case 2 :
            console.log("VIP会员");
            breakcase 3 :
            console.log("管理员");
            break;
            
        default : 
            console.log("游客");
            break;
    }

5.2 循环结构

    在javascript中,循环语句有三种,while、do...while、for循环。
5.2.1 while语句

1、语法结构

    while(条件){
        语句块;
    }

2、功能说明

只要while的条件为真,则一直循环执行语句块里面的内容。

3、案例演示

    var x = "",i=0;
    while (i<5) {
        x=x + "The number is " + i +"\r\n";
        i++;
    }
    console.log(x);
5.2.1 do…while语句

1、语法结构

    do{
         语句块; 
    }while(条件)

2、功能说明

do/while 循环是 while循环的变体。该循环会在检查条件是否为真之前执行一次代码块,然后如果条件为真的话,就会重复这个循环。

3、案例演示

计算1~100各数累加之和。

    var i = 1,sum = 0;
    do{
        sum = sum+i;
        i++;
    }while(i<=100)
    
    console.log(sum);  //结果为:5050
5.2.3 for语句

1、语法结构

for(表达式1; 表达式2; 表达式3){
    语句块;
}

2、功能说明

for循环常用于循环次数确定的情况下,比如:数组

  • 表达式1:在循环(语句块)开始之前执行,一般进行初始化;
  • 表达式2:循环的条件判断语句
  • 表达式3:在循环(语句块)已被执行之后执行

3、案例演示

求1~100之间能被3整除的所有数之和

var sum = 0, i = 1;

for(;i<=100;i++){
    if(i%3 == 0){
        sum += i;
    }
}
console.log(sum);

打印99乘法表

    var s='';
    for(var i=1;i<=9;i++){
        for(var j=1;j<=9;j++){
            if(j>i){ // 内循环只打印小于等于i的数
                break;
            }
            s +=  i+" X "+j+" = " + i*j + '\t';

        }
        s += '\r\n'
    }
    console.log(s);
    /*输出结果
    1 X 1 = 1	
    2 X 1 = 2	2 X 2 = 4	
    3 X 1 = 3	3 X 2 = 6	3 X 3 = 9	
    4 X 1 = 4	4 X 2 = 8	4 X 3 = 12	4 X 4 = 16	
    5 X 1 = 5	5 X 2 = 10	5 X 3 = 15	5 X 4 = 20	5 X 5 = 25	
    6 X 1 = 6	6 X 2 = 12	6 X 3 = 18	6 X 4 = 24	6 X 5 = 30	6 X 6 = 36	
    7 X 1 = 7	7 X 2 = 14	7 X 3 = 21	7 X 4 = 28	7 X 5 = 35	7 X 6 = 42	7 X 7 = 49	
    8 X 1 = 8	8 X 2 = 16	8 X 3 = 24	8 X 4 = 32	8 X 5 = 40	8 X 6 = 48	8 X 7 = 56	8 X 8 = 64	
    9 X 1 = 9	9 X 2 = 18	9 X 3 = 27	9 X 4 = 36	9 X 5 = 45	9 X 6 = 54	9 X 7 = 63	9 X 8 = 72	9 X 9 = 81
    */

重点:while、do…while和for三种循环的区别:

1、while和do…while语句多用于循环次数不明确的情况;
2、for语句通常用于循环次数明确的情况;
3、do…while至少执行循环体一次;而while和for,如果条件不满足,则不执行循环体。

5.2.4 continue和break

功能说明

  • break:立即跳出整个循环,即循环结束,开始执行循环后面的内容。
  • continue:立即跳出当前循环,继续下一次循环。

案例演示

求1~100之间能被7整除的整数之和

    var sum=0;
    var s = '';
    for(var i=1;i<=100;i++){
        if(i%7 != 0){
            continue;
        }
        sum += i;
        s += i + "+";
    }
    console.log(s.substr(0,s.length-1) + "=",sum);  
    // 输出结果为:7+14+21+28+35+42+49+56+63+70+77+84+91+98 = 735

打印1~10的整数,当为5时,中断循环

    for(var i = 1;i<=10;i++){
        if(i == 5cut) break;
        console.log(i);
    }
    //打印结果为:1 2 3 4

总结:
代码的执行流程分为顺序、分支和循环三种结构,顺序结构是默认的,判断结构主要有if-else和switch-case两种,循环结构有while、do-while、for三种,其中continue和break是跳出循环;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值