9.TypeScript循环语句
一般情况下,语句是按顺序执行的,循环语句允许多次执行一个语句或语句组。
在TypeScript中有以下循环语句:
- for循环
- for…in 循环 (不作介绍)
- for…of 循环
- forEach循环 (不作介绍)
- every 循环 (不作介绍)
- some 循环 (不作介绍)
- while 循环
- do...while 循环
for循环
语法:
for ( init; condition; increment ){
statement(s);
}
for循环的执行:
- init会首先被执行且只执行一次,也叫初始化控制变量。可选(如果不写,只需要一个分号即可)
- 判断表达式 condition。如果为 true,则执行循环体。如果为 false,不再执行循环主体,紧接着执行 for 循环后面的下一条语句。
- 执行 for 循环主体后,接着执行 increment 语句。在这里可以更新循环控制变量。可选(如果不写increment 语句,只需要一个分号即可)。
- 下一轮判断condition...这个过程会不断重复(在表达式结果为false时终止循环)
例子:
//打印1~55的整数
for (let i = 1; i < 56; i++ ){
console.log(i + ", ");
}
for...of 循环
for...of 语句可以遍历 Arrays(数组), Strings(字符串), Maps(映射), Sets(集合)等可迭代的数据结构等。
let someArray = [1, "string", false];
for (let entry of someArray) {
console.log(entry); // 1, "string", false
}
while 循环
while 语句在给定条件为 true 时,重复执行语句或语句组。循环主体执行之前会先测试条件。
语法:
while(condition)
{
statement(s);
}
实例:
打印0~100之间的整数
let num:number = 0;
while(num < 100) {
console.log(num + ",")
num++;
}
do...while 循环
和while循环不同,do...while 循环会在先执行循环体,然后才判断循环条件。while和for 循环会先判断条件,如果满足条件才会执行循环体。
语法:
do
{
statement(s);
}while( condition );
因为先入为主的原因,这里需要注意以下:
do...while的条件表达式在每轮循环的尾部执行,所以循环中的 statement(s) 会至少执行一次。
如果条件为 true,控制流会跳转回上面的 do,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为 false 为止。
其他
break 语句:
- break 语句出现在一个循环内时,当前循环会立即终止,程序流将继续执行紧接着循环的下一条语句。
- 在switch 条件语句中可以终止一个 case。
- 因为循环结构可以嵌套,(一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码,不会终止所有的(多层)循环。
continue 语句
continue和break都有终止执行到循环体内的当前语句的作用,区别是break会终止当前的整个循环语句,而continue只终止循环结构中的当前轮,会接着执行下一次的控制变量更新和条件语句的判断。它只是跳过当前循环中的代码,强迫开始下一次循环。
无限循环
如果循环结构中条件判断总是为true的情况下,循环体会一直执行。循环语句的语法允许无限循环的书写,但实际开发中必须避免无限循环的情况。