zoukankan      html  css  js  c++  java
  • label标签跳出循环

     

    出场:

    首先我们来说说为什么需要label标签,虽然我们已经知道有break,continue跳出循环,但如果是多重循环那么它们就显的无能为力了,所以就出现了label这个标签来为我们服务。

    我们先来看看单独使用break的情况

    复制代码
    1 for(var i=0;i<4;i++){
    2     for(var j=0;j<4;j++){
    3         if(i===1&&j===1){
    4             break;
    5         }else{
    6             console.log("i:"+i+"--j:"+j);
    7         }
    8     }
    9 }
    复制代码

    运行结果:

    复制代码
     1 i:0--j:0
     2 i:0--j:1
     3 i:0--j:2
     4 i:0--j:3
     5 i:1--j:0
    当i和j===1的时候,它只跳出了j循环,因此它又会回到i循环体 6 i:2--j:0 7 i:2--j:1 8 i:2--j:2 9 i:2--j:3 10 i:3--j:0 11 i:3--j:1 12 i:3--j:2 13 i:3--j:3
    复制代码

    从上面的运行结果中我们可以发现如果单纯的使用break远远不能够完成一些复杂的操作。

    label标签可以是任意的名称,但不能是保留字,他们几乎是和break;continue;配合使用。

    复制代码
    1 bk:for(var i=0;i<4;i++){
    2     for(var j=0;j<4;j++){
    3         if(i===1&&j===1){
    4             break bk;
    5         }else{
    6             console.log("i:"+i+"--j:"+j);
    7         }
    8     }
    9 }
    复制代码

    运行结果:

    1 i:0--j:0
    2 i:0--j:1
    3 i:0--j:2
    4 i:0--j:3
    5 i:1--j:0

    成功跳出循环。

    提试:bk只是一个名称,你随意,当然不能是js中的关键字

    continue用法一样,不举例。

     
  • 相关阅读:
    MySQL锁
    MySQL索引
    MySQL基础
    删除文件时提示:一个意外错误使您无法复制该文件夹0x80070570
    教育部认可的44项全国学科竞赛名单
    打开dnsmasq log
    使用gdb调试user程序
    ipv6获取地址
    vlc产生组播流
    xxl-job搭建、部署、SpringBoot集成xxl-job
  • 原文地址:https://www.cnblogs.com/zhangxiaolei521/p/5217957.html
Copyright © 2011-2022 走看看