JavaScript:控制跳轉:break、continue與標籤
阿新 • • 發佈:2022-12-09
在迴圈結構中,經常需要使用關鍵字break
和continue
來控制跳轉;
遇到break
,就會跳出迴圈結構,執行迴圈體後面的程式碼;
遇到continue
,就會跳出本次迴圈,進入下一次迴圈;
那麼,假如有巢狀迴圈,我在內迴圈中,想直接跳轉到最外層迴圈,執行最外層迴圈體後面的程式碼,該怎麼做呢?
在JS中,有一個類似於C/C++中的goto語句,通常並不推薦goto語句,因為它破壞了結構;
它就是標籤,它的用法是這樣的,標籤名:迴圈體
;
配合break 標籤名
進行跳轉,具體看下面程式碼:
此處標籤名是here
,後面跟著雙層for迴圈,在內層迴圈通過break here
,直接跳出到最外層迴圈的here
get out
;
注意,雖然break here
按照邏輯來說,是跳轉到標籤here
那裡,然後按理說,應該是再繼續here
後面的程式碼,也就是又進入了雙層for迴圈;但是實際上不是的,實際上是執行here
所在的迴圈體的後面的程式碼;
這就是標籤的反直覺的用法,很容易迷惑大家。
另外,標籤必須在break
的前面,如果在後面,break
是無法跳轉的。