JavaScript 標籤語句

admin發表於2018-11-21

很多時候,難於理解一個概念,一個很關鍵因素是惑於它的名稱。

尤其是在初學階段,思路不開闊,且周邊知識不夠豐富的情況下更是如此。

標籤語句就是一個這樣的概念,一旦讓它放下身段,就會感覺如此簡單平凡。

一.標籤語句概念:

什麼是標籤語句,通俗的講就會被打上標籤的語句,正式一點,就是被標籤化的語句。

打標籤就如同給一個事物取別名,可以很方便的使用此別名指代它。

一個老外的名字是"尼古拉斯.陀思妥耶夫斯基xxxx",稱呼太麻煩,暫時給他貼個標籤A指代他。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
labelName:statement

引數解析:

(1).labelName:標籤名稱,用於指代對應的語句。

(2).statement:此語句將被標籤化,也就是被貼上名為labelName的標籤。

對標籤語句再總結如下兩條規則:

(1).可以標籤化任何一個語句或者語句塊。

(2).如果後面有多個語句,那麼處於第一位的語句被標籤化,其他的被忽略。

二.程式碼例項:

最為常見的對標籤語句的應用是配合break或者continue。

下面分別通過程式碼例項做一下演示。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let num = 0;
outFor:
  for (let i = 0 ; i < 10 ; i++){
    for (let j = 0 ; j < 10 ; j++){
      if( i == 5 && j == 5 ){
        break outFor;
      }
      num++;
    }
  }
console.log(num)

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201811/21/231354bxpriq0x36xtxfsq.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

程式碼分析如下:

(1).為外層for語句打上標籤"outFor",以後就可以用它指代外層for迴圈。

(2).當i與j都等於5的時候,break outFor,也就是跳出整個外層for迴圈。

(3).那麼所有的迴圈都被終止,然後列印出num值,等於55。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
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("退出迴圈");

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201811/21/231416svpmommmpo5zhg5m.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

程式碼分析如下:

(1).當j等於三的時候,執行continue outFor,也就是跳過外層for迴圈當前迴圈,進行下一次。

(2).那麼永遠也不會列印出"內部迴圈:3"以及後面更大的數字。

由上面兩個例子可以看出,所謂的標籤語句就是給語句取一個別名,更方便的引用。

否則,如果沒有標籤語句,想要跳出外層迴圈語句還真的比較麻煩。

關於continue和break可以參閱JavaScript break與continue語句一章節。

相關文章