
前言
在日常開發中我們經常使用到遞歸、break、continue、return等語句改變程序運行的位置,其實,在 JavaScript 中還提供了標簽語句,用於標記指定的代碼塊,便於跳轉到指定的位置。本文來記錄一下標簽語句的使用方法。
正文
1.標簽語句介紹
標簽語句用於給語句加標簽,標簽可以與變量重名,它是一個獨立的語法元素(既不是變量,也不是類型),其作用是標識”標簽化語句(labeled statement)”相當於定位符,用於跳轉到程序的任意位置,語法如下:
label: statement
例如:
hello:console.log("hello")
標簽語句可以改變程序的執行流程,類似於break,continue和return。其中break和continue可以和標簽一起使用。
2.標簽語句使用
(1)標簽語句和 break 配合使用,跳出特定的循環
let num = 0; mylabel: for (let i = 0; i < 10; i++) { for (let j = 0; j < 10; j++) { if (i == 5 && j == 5) { break mylabel; } num++; } } console.log(num); // 55
在這個例子中, outermost 標簽標識的是第一個 for 語句。正常情況下,每個循環執行 10 次,意味着 num++ 語句會執行 100 次,而循環結束時 console.log 的結果應該是 100。但是, break 語句帶來了一個變數,即要退出到的標簽。添加標簽不僅讓 break 退出(使用變量 j 的)內部循環,也會退出(使用變量 i 的)外部循環。當執行到 i 和 j 都等於 5時,循環停止執行,此時 num 的值是 55。
(2)標簽語句和 continue 配合使用
let num = 0; mylabel: for (let i = 0; i < 10; i++) { for (let j = 0; j < 10; j++) { if (i == 5 && j == 5) { continue mylabel; } num++; } } console.log(num); // 95
continue 語句會強制循環繼續執行,但不是繼續執行內部循環,而是繼續執行外部循環。當 i 和 j 都等於 5 時,會執行 continue ,跳到外部循環繼續執行,從而導致內部循環少執行 5 次,結果 num 等於 95。
寫在最后
組合使用標簽語句和 break 、 continue 能實現復雜的邏輯,但也容易出錯。注意標簽要使用描述性強的文本,而嵌套也不要太深。
以上就是本文的全部內容,希望給讀者帶來些許的幫助和進步,方便的話點個關注,小白的成長之路會持續更新一些工作中常見的問題和技術點。

