欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解析JavaScript中的標(biāo)簽語(yǔ)句

 更新時(shí)間:2013年06月19日 15:17:27   作者:  
本篇文章是對(duì)JavaScript中的標(biāo)簽語(yǔ)句進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
Javascript中標(biāo)簽(label)是一個(gè)標(biāo)識(shí)符。標(biāo)簽可以與變量重名,它是一個(gè)獨(dú)立的語(yǔ)法元素(既不是變量,也不是類型),其作用是標(biāo)識(shí)”標(biāo)簽化語(yǔ)句(labeled statement)”

標(biāo)簽聲明
標(biāo)簽(label)可以聲明在任何一個(gè)語(yǔ)句前面,或者語(yǔ)句塊前,以使得語(yǔ)句或語(yǔ)句塊被“標(biāo)簽化(labeled)”。
label1:
復(fù)制代碼 代碼如下:

    myFun1();
label2:{
   var i = 1, j = 2;
   var k = i + j;
}

注意:當(dāng)標(biāo)簽(label)后面連續(xù)多條語(yǔ)句時(shí),只有第一條語(yǔ)句被標(biāo)簽化
雖然GOTO是Javascript的保留關(guān)鍵字,但是里沒(méi)有GOTO語(yǔ)句。除了GOTO外,Javascript里有另外三個(gè)關(guān)鍵字可以改變程序的流程:break,continue和return。其中break和continue可以和標(biāo)簽(label)一起使用。

break與標(biāo)簽
break通常用于跳出for、while循環(huán)和跳出switch語(yǔ)句。默認(rèn)情況下,break子句作用于循環(huán)語(yǔ)句的最內(nèi)層,或者整個(gè)switch語(yǔ)句,因此它不必特別地指定中斷語(yǔ)句的范圍。但break子句具有一種擴(kuò)展語(yǔ)法,以指示其作用范圍。

break my_label;
除了可以跳出循環(huán)和switch分支,還可以跳出標(biāo)簽化語(yǔ)句(labeled statement)的內(nèi)部
復(fù)制代碼 代碼如下:

var str = prompt('please input a string','1234567890');

my_label: {
    if (str && str.length < 10) {
        break my_label:
    }
    str = str.substr(str.length-10);
}

alert(str);

continue與標(biāo)簽
continue僅對(duì)循環(huán)語(yǔ)句有意義,因此它只能作用于for、for…in、while和do…while這些語(yǔ)句的內(nèi)部。默認(rèn)情況下,它表明停止當(dāng)前循環(huán)并跳轉(zhuǎn)到下一次循環(huán)迭代開(kāi)始處運(yùn)行。

continue后面也可以帶一個(gè)標(biāo)簽(label),這時(shí)表明從循環(huán)體內(nèi)部中止,并繼續(xù)到標(biāo)簽(label)指示處開(kāi)始執(zhí)行,并且這個(gè)標(biāo)簽指示的語(yǔ)句必須是包含此continue的循環(huán)語(yǔ)句。
例如:
loop:
復(fù)制代碼 代碼如下:

  for (var j = 0; j < 5; j++)
  {
     if (j == 2) continue loop;
     document.write("loop: " + j +);
  }

上面例子continue + label體現(xiàn)不出label的特殊作用,其實(shí)完全可以把label去掉,效果相同。下面再看一個(gè)例子
復(fù)制代碼 代碼如下:

document.write("Entering the loop!<br /> ");
outerloop:   // This is the label name
for (var i = 0; i < 3; i++)
{
   document.write("Outerloop: " + i + "<br />");
   for (var j = 0; j < 5; j++)
   {
      if (j == 3){
         continue outerloop;
      }
      document.write("Innerloop: " + j + "<br />");
   }
}
document.write("Exiting the loop!<br /> ");

使用continue label直接跳到外層循環(huán)才是其意義所在。

相關(guān)文章

最新評(píng)論