js 標(biāo)簽語法使用詳情
前言:
在日常開發(fā)中我們經(jīng)常使用到遞歸、break、continue、return等語句改變程序運(yùn)行的位置,其實(shí),在 JavaScript 中還提供了標(biāo)簽語句,用于標(biāo)記指定的代碼塊,便于跳轉(zhuǎn)到指定的位置。本文來記錄一下標(biāo)簽語句的使用方法。
1.標(biāo)簽語句介紹
標(biāo)簽語句用于給語句加標(biāo)簽,標(biāo)簽可以與變量重名,它是一個獨(dú)立的語法元素(既不是變量,也不是類型),其作用是標(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 語句會強(qiáng)制循環(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 能實(shí)現(xiàn)復(fù)雜的邏輯,但也容易出錯。注意標(biāo)簽要使用描述性強(qiáng)的文本,而嵌套也不要太深。
到此這篇關(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ù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
微信小程序 數(shù)組中的push與concat的區(qū)別
這篇文章主要介紹了微信小程序 數(shù)組中的push與concat的區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-01-01
websocket心跳重連實(shí)現(xiàn)探索(npm:websocket-heartbeat-js)
這篇文章主要為大家介紹了websocket心跳重連實(shí)現(xiàn)探索(npm:websocket-heartbeat-js),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07

