出場:
首先我們來說說為什麼需要label標簽,雖然我們已經知道有break,continue跳出循環,但如果是多重循環那麼它們就顯的無能為力了,所以就出現了label這個標簽來為我們服務。
我們先來看看單獨使用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); } } }
運行結果:
i:0--j:0 i:0--j:1 i:0--j:2 i:0--j:3 i:1--j:0 當i和j===1的時候,它只跳出了j循環,因此它又會回到i循環體 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
從上面的運行結果中我們可以發現如果單純的使用break遠遠不能夠完成一些復雜的操作。
label標簽可以是任意的名稱,但不能是保留字,他們幾乎是和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); } } }
運行結果:
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用法一樣,不舉例。
很簡單的例子,希望對大家的學習有所幫助。