出場: 首先我們來說說為什麼需要label標簽,雖然我們已經知道有break,continue跳出迴圈,但如果是多重迴圈那麼它們就顯的無能為力了,所以就出現了label這個標簽來為我們服務。 我們先來看看單獨使用break的情況 1 for(var i=0;i<4;i++){ 2 for(var j
出場:
首先我們來說說為什麼需要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用法一樣,不舉例。