javascript實(shí)現(xiàn)label標(biāo)簽跳出循環(huán)操作

字號(hào):


    這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)label標(biāo)簽跳出循環(huán)操作,感興趣的朋友可以參考一下
    出場(chǎng):
    首先我們來(lái)說(shuō)說(shuō)為什么需要label標(biāo)簽,雖然我們已經(jīng)知道有break,continue跳出循環(huán),但如果是多重循環(huán)那么它們就顯的無(wú)能為力了,所以就出現(xiàn)了label這個(gè)標(biāo)簽來(lái)為我們服務(wù)。
    我們先來(lái)看看單獨(dú)使用break的情況
    for(var i=0;i<4;i++){
      for(var j=0;j<4;j++){
        if(i===1&&j===1){
          break;
        }else{
          console.log("i:"+i+"--j:"+j);
        }
      }
    }
    運(yùn)行結(jié)果:
    i:0--j:0
    i:0--j:1
    i:0--j:2
    i:0--j:3
    i:1--j:0
    當(dāng)i和j===1的時(shí)候,它只跳出了j循環(huán),因此它又會(huì)回到i循環(huán)體
    i:2--j:0
    i:2--j:1
    i:2--j:2
    i:2--j:3
    i:3--j:0
    i:3--j:1
    i:3--j:2
    i:3--j:3
    從上面的運(yùn)行結(jié)果中我們可以發(fā)現(xiàn)如果單純的使用break遠(yuǎn)遠(yuǎn)不能夠完成一些復(fù)雜的操作。 
    label標(biāo)簽可以是任意的名稱,但不能是保留字,他們幾乎是和break;continue;配合使用。
    bk:for(var i=0;i<4;i++){
      for(var j=0;j<4;j++){
        if(i===1&&j===1){
          break bk;
        }else{
          console.log("i:"+i+"--j:"+j);
        }
      }
    }
    運(yùn)行結(jié)果:
    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
    成功跳出循環(huán)。
    提試:bk只是一個(gè)名稱,你隨意,當(dāng)然不能是js中的關(guān)鍵字
    continue用法一樣,不舉例。
    很簡(jiǎn)單的例子,希望對(duì)大家的學(xué)習(xí)有所幫助。