這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)label標(biāo)簽跳出循環(huán)操作,感興趣的朋友可以參考一下
出場:
首先我們來說說為什么需要label標(biāo)簽,雖然我們已經(jīng)知道有break,continue跳出循環(huán),但如果是多重循環(huán)那么它們就顯的無能為力了,所以就出現(xiàn)了label這個(gè)標(biāo)簽來為我們服務(wù)。
我們先來看看單獨(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),因此它又會回到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用法一樣,不舉例。
很簡單的例子,希望對大家的學(xué)習(xí)有所幫助。