JavaScript 標籤語句
在學習一個新東西的時候,常常難於理解一個新的概念 ,大概是因爲它的名字迷惑了我們。初次看到這個標籤語句時就讓我非常的不解,想着這JavaScript怎麼又和HTML的標籤搞到一塊去了,於是就讓我煞費苦心的搜啊,終於皇天不負有心人,接下來就讓我們看看這個JavaScript 標籤語句到底是個什麼NB的東西。
首先來看看標籤語句的概念是什麼:
簡單來說,JavaScript 標籤語句就是被標籤化的語句。就如同給一個特別難記的東西起一個好記的別名取代它一樣,比如說一個美國佬的名字叫“ 尼古拉斯. 特斯拉佗羅夫斯基唐納德拉夫斯基xxx",別說記住他的名字了,就是聽見就難免讓人頭疼,由於不想死太多的腦細胞,於是就給他來個好記的別名叫”小黑“,那麼這個”小黑“就相當於我們所說的標籤語句。
語法結構 :
labelName:statement
(1). labelName:標籤名稱,用於指代對應的語句 。
(2). statement:此語句將被標籤化,也就是被當作名爲labelName的標籤。
另外, 可以標籤化任何一個語句或者語句塊 , 如果後面有多個語句,那麼處於第一位的語句被標籤化,其他的被忽略 。
常見實例:
最爲常見的對標籤語句的應用是配合break或者continue。
let num = 0;
outFor: for (let i = 0; i < 10; i++) {
for (let j = 0; j < 10; j++) {
if (i == 3 && j == 3) {
break outFor;
}
num++;
}
}
console.log(num); // 輸出33
看上面代碼:
(1)爲外層for語句用一個標籤outFor
,以後就可以用它指代外層for循環。
(2)當i與j都等於3的時候,break outFor
,也就是跳出整個外層for循環。
(3)那麼所有的循環都被終止,然後打印出num值,等於33。
再來看下面的代碼加強對標籤語句的理解
outFor: for (let i = 0; i < 3; i++) {
console.log("外層循環:" + i);
for (let j = 0; j < 5; j++) {
if (j == 3) {
continue outFor;
}
console.log("內部循環:" + j);
}
}
console.log("退出循環");
打印結果是這樣的:
label.html:11 外層循環:0
label.html:16 內部循環:0
label.html:16 內部循環:1
label.html:16 內部循環:2
label.html:11 外層循環:1
label.html:16 內部循環:0
label.html:16 內部循環:1
label.html:16 內部循環:2
label.html:11 外層循環:2
label.html:16 內部循環:0
label.html:16 內部循環:1
label.html:16 內部循環:2
label.html:19 退出循環
由代碼可以看出:
(1)當j
等於三的時候,執行continue outFor
,也就是跳過外層for循環當前循環,進行下一次。那麼永遠也不會打印出內部循環:3
以及後面更大的數字。
由此可以看出:這個東西還是挺簡單、使用起來還是挺方便的,只是它的名字看上去有點嚇人而已。