首頁 > web前端 > js教程 > 主體

解析JavaScript中的標籤語句_基礎知識

WBOY
發布: 2016-05-16 17:32:05
原創
1426 人瀏覽過

Javascript中標籤(label)是一個識別符。標籤可以與變數重名,它是一個獨立的語法元素(既不是變量,也不是類型),其作用是標識”標籤化語句(labeled statement)”

標籤聲明
標籤(label)可以宣告在任何一個語句前面,或語句區塊前,以使得語句或語句區塊被「標籤化(labeled)」。
label1:

複製程式碼 程式碼如下:

 label2:{
   var i = 1, j = 2;
   var k = i j;
}


注意:
注意:
當標籤label)後面連續多條語句時,只有第一條語句被標籤化
雖然GOTO是Javascript的保留關鍵字,但是裡面沒有GOTO語句。除了GOTO外,Javascript有另外三個關鍵字可以改變程式的流程:break,continue和return。其中break和continue可以和標籤(label)一起使用。

break與標籤
break通常用來跳出for、while迴圈、跳出switch語句。預設情況下,break子句作用於迴圈語句的最內層,或整個switch語句,因此它不必特別地指定中斷語句的範圍。但break子句具有一種擴展語法,以指示其作用範圍。

break my_label;
除了可以跳出迴圈和switch分支,還可以跳出標籤化語句(labeled statement)的內部
複製程式碼


程式碼如下:


var str = prompt('please input a string','1234567890');
dlab🎜 : {
    if (str && str.length         break my_label:
    }
 🎜>alert(str);

continue與標籤
continue只對循環語句有意義,因此它只能作用於for、for…in、while和do…while這些語句的內部。預設情況下,它表示停止當前循環並跳到下一次循環迭代開始處運行。

continue後面也可以帶一個標籤(label),這時表示從迴圈體內部中止,並繼續到標籤(label)指示處開始執行,而這個標籤所指示的語句必須是包含此continue的循環語句。
例如:
loop:
複製程式碼 程式碼>
  for (var j = 0; j   {
     if (j == 2) continue loop;
     document.write("loop: " j🎜>     document.write("loop: " jwwrite("lo j); >  }


上面例子continue label體現不出label的特殊作用,其實完全可以把label去掉,效果相同。下面再看一個範例


複製程式碼 程式碼如下:document.write("Entering thewrite("Entering the loop!
");
outerloop:   // This is the label name
for (var i = 0; i {
   document.write("Outerloop : " i "
");
   for (var j = 0; j    {
       >      }
      document.write("Innerloop: " j "
");
   }
}
document"
   }
}
document. 🎜>

使用continue label直接跳到外層循環才是其意義所在。
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板