js 標(biāo)簽語法使用詳情
前言:
在日常開發(fā)中我們經(jīng)常使用到遞歸、break
、continue
、return
等語句改變程序運行的位置,其實,在 JavaScript
中還提供了標(biāo)簽語句,用于標(biāo)記指定的代碼塊,便于跳轉(zhuǎn)到指定的位置。本文來記錄一下標(biāo)簽語句的使用方法。
1.標(biāo)簽語句介紹
標(biāo)簽語句用于給語句加標(biāo)簽,標(biāo)簽可以與變量重名,它是一個獨立的語法元素(既不是變量,也不是類型),其作用是標(biāo)識”標(biāo)簽化語句(labeled statement
)”相當(dāng)于定位符,用于跳轉(zhuǎn)到程序的任意位置,語法如下:
label: statement
例如:
hello:console.log("hello")
標(biāo)簽語句可以改變程序的執(zhí)行流程,類似于break
,continue
和return
。其中break
和continue
可以和標(biāo)簽一起使用。
2.標(biāo)簽語句使用
(1)標(biāo)簽語句和 break 配合使用,跳出特定的循環(huán)
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
標(biāo)簽標(biāo)識的是第一個 for
語句。正常情況下,每個循環(huán)執(zhí)行 10 次,意味著 num++
語句會執(zhí)行 100 次,而循環(huán)結(jié)束時 console.log
的結(jié)果應(yīng)該是 100。但是, break
語句帶來了一個變數(shù),即要退出到的標(biāo)簽。添加標(biāo)簽不僅讓 break
退出(使用變量 j 的)內(nèi)部循環(huán),也會退出(使用變量 i 的)外部循環(huán)。當(dāng)執(zhí)行到 i 和 j 都等于 5時,循環(huán)停止執(zhí)行,此時 num
的值是 55。
(2)標(biāo)簽語句和 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
語句會強制循環(huán)繼續(xù)執(zhí)行,但不是繼續(xù)執(zhí)行內(nèi)部循環(huán),而是繼續(xù)執(zhí)行外部循環(huán)。當(dāng) i 和 j 都等于 5 時,會執(zhí)行 continue
,跳到外部循環(huán)繼續(xù)執(zhí)行,從而導(dǎo)致內(nèi)部循環(huán)少執(zhí)行 5 次,結(jié)果 num
等于 95。
總結(jié):
組合使用標(biāo)簽語句和 break
、 continue
能實現(xiàn)復(fù)雜的邏輯,但也容易出錯。注意標(biāo)簽要使用描述性強的文本,而嵌套也不要太深。
到此這篇關(guān)于js 標(biāo)簽語法使用詳情的文章就介紹到這了,更多相關(guān)js 標(biāo)簽語法使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript架構(gòu)搭建前端監(jiān)控如何采集異常數(shù)據(jù)
這篇文章主要為大家介紹了JavaScript架構(gòu)搭建前端監(jiān)控如何采集異常數(shù)據(jù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06微信小程序 數(shù)組中的push與concat的區(qū)別
這篇文章主要介紹了微信小程序 數(shù)組中的push與concat的區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-01-01websocket心跳重連實現(xiàn)探索(npm:websocket-heartbeat-js)
這篇文章主要為大家介紹了websocket心跳重連實現(xiàn)探索(npm:websocket-heartbeat-js),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07