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

JavaScript 中的break、continue、return的用法和区别

程序员文章站 2022-04-19 13:32:10
JavaScript 中的break、continue、return的用法和区别文章目录JavaScript 中的break、continue、return的用法和区别1、break在循环中使用break在switch中使用break2、continuecontinue 与 break 语句的区别3、returnreturn直接结束整个方法,不管这个return处于多少层循环之内。递归中的return代码块: 基本上是{}大括号之间这三个关键字可以从用法上,分为两类;break、continue主...

JavaScript 中的break、continue、return的用法和区别

  • 代码块: 基本上是{}大括号之间
  • 这三个关键字可以从用法上,分为两类;
  • break、continue主要用于循环语句中。
    • break 立即停止当前语句,并跳出当前代码块,执行break代码块后面的代码。
    • continue 的作用是进入下一个迭代, 所以 continue 只能用于循环的代码块。。
  • return 则是用于在函数中返回特定的值。

1、break

  • break 在一些计算机编程语言中是保留字,其作用大多情况下是终止所在层的循环。

在循环中使用break

  • 当break语句用于do-while、for、while循环语句中时,可使程序终止循环。

  • 在多层循环中,一个break语句只向外跳一层。

    for(var j=0;j<2;j++){
        for (var i = 0; i < 5; i++) {
            // console.log(i)
            if (i == 3) {
                console.log(i+"等于3,跳出循环")
                break;
            }
            console.log(i+"不等于3,继续循环");
        }
        console.log("break 在多个嵌套循环中,只能影响到break所在的循环,不会影响到");
    }
    console.log("后续代码");
    

JavaScript 中的break、continue、return的用法和区别

在switch中使用break

  • 当 break 语句用于 switch 语句中时,会跳出 switch 代码块,终止执行代码。

  • 注意:break 关键字只能退出当前的代码块,不会影响到其他的代码块

    var num=5;
    switch (num){
        case 5:
            console.log("5");
        case 4:
            console.log("4");
            for(var i=0;i<3;i++){
                if(true){
                    break;//只能退出循环,不会影响到switch语句
                }
            }
        case 3:
            console.log("3");
            break;//这个break就能防止case穿透
        case 2:
            console.log("2");
    }
    

2、continue

  • continue 不是退出一个循环,而是开始循环的一次新迭代。(就是跳出当前的循环,然后继续后面的循环)
  • continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用都会引起错误!

continue 与 break 语句的区别

  • break 是结束整个循环体,continue是结束单次循环。
for(var i=0;i<6;i++){
    if(i===3){
        console.log(i+"等于3,跳出整个循环")
        break;
    }
    console.log(i);
}

JavaScript 中的break、continue、return的用法和区别

for(var i=0;i<6;i++){
    if(i===3){
        console.log("——"+i+"等于3,跳出i=3的循环,继续执行后续循环")
        continue;
    }
    console.log(i+1+"次循环");
}

JavaScript 中的break、continue、return的用法和区别

  • 注意:
    • continue 语句(不带标签引用),只能用在循环或 switch 中。

3、return

  • ECMAScript 中的函数在定义时不必指定是否返回值。函数会在执行完 return 语句之后停止并立即退出。

  • return直接结束整个方法,不管这个return处于多少层循环之内。

  • 未指定返回值的函数 return 返回的是一个特殊的 undefined 值。

    • 在函数中不写return,或者return 关键字后面不写任何值;返回的就是一个 undefined;
    function fn(){
    	console.log("简简单单的一个函数");
    	return;
    }
    console.log(fn());// undefined
    
    function fnNoReturn(){
    	console.log("简简单单的一个函数");
    }
    console.log(fnNoReturn());// undefined
    
  • return 语句会终止函数的执行并返回函数的值

递归中的return

  • 递归的意义:递归就是调用自身的一种编程技巧,在程序设计中应用广泛。递归函数就是函数对自身的调用,是循环运算的一种算法模式。

  • 递归必须由以下两部分组成。

    • 递归调用的过程。
    • 递归终止的条件。
  • 递归中的return 是逐级返回

    function fn(num){
        if(num === 1){
            return 1;
        }
        return num+fn(--num);
    }
    console.log(fn(5));// 15
    
    • if 中的return是跳出函数循环的条件,只有当满足条件是才进入if语句中。

    • 一开始传入实参5 ,不满足条件,fn(5) 函数返回的结果是 5+fn(4) ;

    • fn(4) 相当于传入 实参4调用函数

      • fn(4) 函数返回的结果是 4+fn(3) ;
    • fn(3) 相当于传入 实参3调用函数

      • fn(3) 函数返回的结果是 3+fn(2) ;
    • fn(2) 相当于传入 实参2调用函数

      • fn(2) 函数返回的结果是 2+fn(1) ;
    • fn(1) 相当于传入 实参1调用函数

      • num===1 满足条件,函数返回 数值1,终止函数调用;
    • 所以fn(5)的return 返回的结果是:
      JavaScript 中的break、continue、return的用法和区别

本文地址:https://blog.csdn.net/weixin_48066258/article/details/107283778