Javascript for循環指定錨點跳轉


在某些使用多層嵌套for循環的場合里

會用到break和continue來中途跳轉循環

break是跳出整個循環

continue是跳出當前循環,繼續下次循環

而多層for循環嵌套里使用這兩個關鍵字默認只能跳到當前for循環的上一層

如果我們需要跳到上一層的上一層,或者跳到頂層呢?

javascript為我們提供了一個循環跳轉的標簽 ,感覺有點類似C語言里的goto語句

1 here:
2  for(var i=0;i<5;i++){
3   for(var j=0;j<5;j++){
4    if(i===2&&j===2){
5      break here;
6    }
7    console.log(i,j);
8   }
9  }

 

 
上述代碼中的here可以自己定義名稱,另外一定要看清楚here后面是冒號可不是分號!
 
運行可以發現輸出
0,0
0,1
0,2
0,3
0,4
1,0
1,1
1,2
1,3
1,4
2,0
2,1

 

可以看到循環到i=2,j=2時,直接退出了全部循環,而不是僅僅退出內層循環
 
為了更好的對比效果,如果我們去掉break here后面的here
運行后可以發現輸出
0,0
0,1
0,2
0,3
0,4
1,0
1,1
1,2
1,3
1,4
2,0
2,1
3,0
3,1
... //省略3,2~4,3
4,4

 

此時break僅僅跳出了內層循環,函數會繼續從外層循環i=3開始繼續循環
 
這個輸出結果顯然和continue here 產生了一樣的效果
 
(break)前者是跳出當前層循環,外層循環繼續
(continue here)后者是跳到最外層循環繼續
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM