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

05-JavaScript流程控件

程序员文章站 2022-07-07 17:38:15
...

第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是跳出循环;

相关标签: JavaScript学习