zoukankan      html  css  js  c++  java
  • 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,就会跳出区块。

  • 相关阅读:
    SecureRandom
    一个不错的架构图:基于SpringCloud的微服务项目
    Android 增量更新完全解析 是增量不是热修复
    Android热修复方案比较
    Android Activity作为dialog对话框的使用详细介绍
    Android 微信分享不出去?四步搞定!
    Android:用签名打包后微信分享失效
    Android 根据QQ号跳转到QQ聊天界面
    Android fragment-findFragmentByTag 始终返回 null
    Android RecyclerView遇到notifyDataSetChanged无效时的解决方案
  • 原文地址:https://www.cnblogs.com/forever-xuehf/p/12775024.html
Copyright © 2011-2022 走看看