• js跳出循环


    一。break

    break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句

    由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的。

    如下:

    for(var i=1;i<=10;i++) { 
        if(i==8) { 
            break; 
        } 
        document.write(i); 
    } 

    二。continue

    continue是跳过本次循环,开始循环的下一次新迭代

    continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内

    如下:

    for(var i=1;i<=10;i++) { 
        if(i==8) { 
            continue; 
        } 
        document.write(i); 
    } 

    三。return

    return语句就是用于指定函数返回的值。return语句只能出现在函数体内,出现在代码中的其他任何地方都会造成语法错误!

    如下:

    <script>
    if (username==""){
       alert("请输入用户名");
       return false;
    }
    if(qq==""){
       alert("请输入QQ");
       return false;
    }
    </script>

    四。标签(label

    JavaScript 语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置。(1. 跳出指定循环。2. 跳出代码块。)

    标签的语法格式如下:(标签可以是任意的标识符,但不能是保留字,语句部分可以是任意语句

    label:
      语句

    栗子1:   标签通常与break语句和continue语句配合使用,跳出特定的循环(对于多层循环时)

    与break时:

    top:
      for (var i = 0; i < 3; i++){
        for (var j = 0; j < 3; j++){
          if (i === 1 && j === 1) break top;
          console.log('i=' + i + ', j=' + j);
        }
      }
    // i=0, j=0
    // i=0, j=1
    // i=0, j=2
    // i=1, j=0

    上面代码为一个双重循环区块,break命令后面加上了top标签(注意,top不用加引号),满足条件时,直接跳出双层循环。如果break语句后面不使用标签,则只能跳出内层循环,进入下一次的外层循环。

    continue时:

    top:
      for (var i = 0; i < 3; i++){
        for (var j = 0; j < 3; j++){
          if (i === 1 && j === 1) continue top;
          console.log('i=' + i + ', j=' + j);
        }
      }
    // i=0, j=0
    // i=0, j=1
    // i=0, j=2
    // i=1, j=0
    // i=2, j=0
    // i=2, j=1
    // i=2, j=2

    上面代码中,continue命令后面有一个标签名,满足条件时,会跳过当前循环,直接进入下一轮外层循环。如果continue语句后面不使用标签,则只能进入下一轮的内层循环。

     

    栗子2:   标签也可以用于跳出代码块

    foo: {
      console.log(1);
      break foo;
      console.log('本行不会输出');
    }
    console.log(2);
    // 1
    // 2

    上面代码执行到break foo,就会跳出区块。

  • 相关阅读:
    POJ3233 构造子矩阵+矩阵快速幂
    HDU4565-数学推导求递推公式+矩阵快速幂
    记录一个状压DP用到的骚操作
    POJ1273 最大流模板
    图论复习...
    2017-7 实训经验贴
    Polya定理应用实例
    直线,椭圆,三角形,折线分割平面问题
    hdu4801 PocketCube 2阶魔方
    1256:献给阿尔吉侬的花束
  • 原文地址:https://www.cnblogs.com/forever-xuehf/p/12775024.html
Copyright © 2020-2023  润新知