在javascript中,我們可能很少會去用到 Label 語句,但是熟練的應用 Label 語句,尤其是在嵌套循環中熟練應用 break, continue 與 Label 可以精確的返回到你想要的程序的位置。
Label 語句,按書本上說的語法是:
Label: statement
如: begin: for (var i = 0; i < 10 ; i++ ){
alert(i);
}
舉一個比較典型的例子,看完後即明白 Label 的應用:(未添加 Label)
var num = 0;
for (var i = 0 ; i < 10 ; i++){
for (var j = 0 ; j < 10 ; j++){
if( i == 5 && j == 5 ){
break;
}
num++;
}
}
alert(num); // 循環在 i 爲5,j 爲5的時候跳出 j循環,但會繼續執行 i 循環,輸出 95
對比使用了 Label 之後的程序:(添加 Label 後)
var num = 0;
outPoint:
for (var i = 0 ; i < 10 ; i++){
for (var j = 0 ; j < 10 ; j++){
if( i == 5 && j == 5 ){
break outPoint;
}
num++;
}
}
alert(num); // 循環在 i 爲5,j 爲5的時候跳出雙循環,返回到outPoint層繼續執行,輸出 55
i j
0 0~9;
1 0~9;
2 0~9;
3 0~9;
4 0~5; break;
5 0~9
6 0~9
7 0~9
8 0~9
9 0~9
9*10+5=95;
5*10+5=55;
break 跳出j 內層循環就不執行num++