TypeScript 循環(huán)

2019-01-03 17:01 更新

你可能會遇到這樣的情況,當一段代碼需要執(zhí)行多次時。在一般情況下,語句按照順序執(zhí)行:首先執(zhí)行函數中的第一個語句,然后執(zhí)行第二個語句,依此類推。

編程語言提供了各種控制結構,允許更復雜的執(zhí)行路徑。

循環(huán)語句可以讓我們多次執(zhí)行語句或語句組。下面給出的是大多數編程語言中循環(huán)語句的一般形式。

循環(huán)

TypeScript提供了不同類型的循環(huán)來處理循環(huán)要求。下圖說明了循環(huán)的分類:

循環(huán)類型

確定循環(huán)

迭代次數是確定/固定的循環(huán)稱為確定循環(huán)。for循環(huán)是一個確定循環(huán)的實現。

序號循環(huán)和說明
1for循環(huán)

for循環(huán)是一個確定循環(huán)的實現。

不確定循環(huán)

當循環(huán)中的迭代次數不確定或未知時,將使用不確定循環(huán)。

可以使用以下方式實現不確定循環(huán):

序號循環(huán)和說明
1while循環(huán)

每次指定的條件評估結果為true時,while循環(huán)都會執(zhí)行指令。

2do...while循環(huán)

do ... while循環(huán)類似于while循環(huán),只是do ... while循環(huán)不會在第一次循環(huán)執(zhí)行時評估條件。

示例:while與do..while

var n:number = 5 
while(n > 5) { 
   console.log("Entered while") 
} 
do { 
   console.log("Entered do…while") 
} 
while(n>5)

該示例最初聲明了一個while循環(huán)。 僅當表達式傳遞給while時,才會輸入循環(huán),同時計算結果為true。在此示例中,n的值不大于零,因此表達式返回false并跳過循環(huán)。

另一方面,do ... while循環(huán)執(zhí)行一次語句。這是因為初始迭代不考慮Boolean表達式。但是,對于后續(xù)迭代,while檢查條件并將控件從循環(huán)中取出。

在編譯時,它會生成以下JavaScript代碼:

//Generated by typescript 1.8.10
var n = 5;
while (n > 5) {
   console.log("Entered while");
}

do {
   console.log("Entered do…while");
} while (n > 5);

上面的代碼將產生以下輸出:

Entered do…while

break語句

break語句用于將控件從結構中取出。在循環(huán)中使用break會導致程序退出循環(huán)。它的語法如下: 

語法

break

流程圖

break語句

示例

現在,看看下面的示例代碼:

var i:number = 1 
while(i<=10) { 
   if (i % 5 == 0) {   
      console.log ("The first multiple of 5  between 1 and 10 is : "+i) 
      break     //exit the loop if the first multiple is found 
   } 
   i++ 
}  //outputs 5 and exits the loop

在編譯時,它會生成以下JavaScript代碼:

//Generated by typescript 1.8.10
var i = 1;

while (i <= 10) {
   if (i % 5 == 0) {
      console.log("The first multiple of 5  between 1 and 10 is : " + i);
      break; //exit the loop if the first multiple is found
   }
   i++;
} //outputs 5 and exits the loop

它會產生以下的輸出:

The first multiple of 5  between 1 and 10 is : 5

continue語句

continue語句跳過當前迭代中的后續(xù)語句,并將控件帶回循環(huán)的開頭。與break語句不同,continue不會退出循環(huán)。它終止當前迭代并開始后續(xù)迭代。

語法

continue

流程圖

繼續(xù)聲明

示例

下面給出了continue語句的一個例子:

var num:number = 0
var count:number = 0;

for(num=0;num<=20;num++) {
   if (num % 2==0) {
      continue
   }
   count++
}
console.log (" The count of odd values between 0 and 20 is: "+count)    //outputs 10 

上面的示例顯示0到20之間的偶數值。如果數字是偶數,則循環(huán)退出當前迭代。這是使用continue語句實現的。

在編譯時,它會生成以下JavaScript代碼:

//Generated by typescript 1.8.10
var num = 0;
var count = 0;

for (num = 0; num <= 20; num++) {
   if (num % 2 == 0) {
      continue;
   }
   count++;
}
console.log(" The count of odd values between 0 and 20 is: " + count);     //outputs 10

輸出

The count of odd values between 0 and 20 is: 10

無限循環(huán)

無限循環(huán)是一個無休止地運行的循環(huán)。for循環(huán)和while循環(huán)可用于創(chuàng)建無限循環(huán)。

語法:使用for循環(huán)的無限循環(huán)

for(;;) { 
   //statements 
}示例:使用for循環(huán)的無限循環(huán)
for(;;) { 
   console.log(“This is an endless loop”) 
}

語法:使用while循環(huán)的無限循環(huán)

while(true) { 
   //statements 
} 

示例:使用while循環(huán)的無限循環(huán)

while(true) { 
   console.log(“This is an endless loop”) 
}
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號