TypeScript - 循环
您可能会遇到这样的情况:一段代码需要执行多次。 一般来说,语句是按顺序执行的:首先执行函数中的第一条语句,然后执行第二条语句,依此类推。
编程语言提供各种控制结构,允许更复杂的执行路径。
循环语句允许我们多次执行一条语句或一组语句。 下面给出的是大多数编程语言中循环语句的一般形式。
TypeScript 提供了不同类型的循环来处理循环需求。 下图说明了循环的分类 −
有限循环
迭代次数确定/固定的循环称为确定循环。 for 循环 是确定循环的实现。
S.No. | 循环类型 & 描述 |
---|---|
1. | for 循环
for 循环是确定循环的实现。 |
无限循环
当循环中的迭代次数不确定或未知时,使用不定循环。
可以使用以下方式实现不定循环 −
S.No | 循环类型 & 描述 |
---|---|
1. | while 循环
每当指定的条件计算结果为 true 时,while 循环就会执行指令。 |
2. | do...while 循环
do...while 循环与 while 循环类似,不同之处在于 do...while 循环不会在第一次执行循环时评估条件。 |
示例:while 与 do..while
var n:number = 5 while(n > 5) { console.log("Entered while") } do { console.log("Entered do…while") } while(n>5)
该示例最初声明了一个 while 循环。 仅当传递给 while 的表达式计算结果为 true 时才进入循环。 在此示例中,n 的值不大于零,因此表达式返回 false 并且跳过循环。
另一方面,do…while 循环执行语句一次。 这是因为初始迭代不考虑布尔表达式。 但是,对于后续迭代,while 检查条件并将控制移出循环。
编译时,会生成以下 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 语句用于从构造中获取控制权。 在循环中使用 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 语句会跳过当前迭代中的后续语句,并将控制权带回到循环的开头。 与break语句不同,Continue不会退出循环。 它终止当前迭代并开始后续迭代。
语法
continue
流程图
示例
下面给出了 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 之间奇数的数量。如果数量为偶数,则循环退出当前迭代。 这是使用 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
无限循环
无限循环是无限运行的循环。 for 循环和while 循环可用于创建无限循环。
语法:使用 for 循环进行无限循环
for(;;) { //statements }
示例:使用 for 循环的无限循环
for(;;) { console.log(“This is an endless loop”) }
语法:使用 while 循环进行无限循环
while(true) { //statements }
示例:使用 while 循环的无限循环
while(true) { console.log(“This is an endless loop”) }