本节我们学习循环,什么是循环呢,从字面意思就可以看就是重复多次执行代码。
TypeScript 中的 for
循环和 for...in
循的使用就和 JavaScript
中的一样。此外,TypeScript
中还还支持 for…of
、forEach
、every
和 some
循环。
for循环
TypeScript
语言中的 for
循环可以用于多次执行一个代码块。例如一句代码重复执行 10 次、100次、1000次等,都可以通过循环来实现。
语法如下所示:
for ( init; condition; increment ){
// 代码块
}
其中 init
是循环控制变量,会在循环最开始的时候执行,且只会执行一次。condition
是循环条件,当条件为 true
时会执行循环中的代码块,为 false
时则停止执行循环。increment
用于更新循环控制变量,当循环中的代码块执行完毕后,控制流会跳回到这个语句。
示例:
循环输出数字 0 到 4:
let num:number = 5;
let i:number;
for (i = 0; i < num; i++){
console.log(i);
}
编译成 JavaScript
代码:
var num = 5;
var i;
for (i = 0; i < num; i++) {
console.log(i);
}
输出:
0
1
2
3
4
我们来看下上面代码的执行流程:
- 首先程序中的代码都是自上而下执行,所以在循环开始执行之前会执行这两句代码:
let num:number = 5;
let i:number;
- 然后看到循环部分,首先被执行的是
i = 0
,初始化循环的控制变量变量,然后判断给出的循环条件i < num
,如果满足这个条件,则执行循环中的代码块。所以此时输出了0
,这就是第一次循环。 - 接着开始第二次循环,控制流会跳回到
i++
语句部分,这条语句用于更新循环控制变量,所以此时 i 的值加1
。知道了i
的值为 1 后,循环条件再次被判断,此时i < num
仍旧满足,所以继续执行循环中的代码块,输出1
,这是第二次循环。 - 然后就跟上面的步骤一样,继续第三次、第四次…等的循环。一直到循环条件
i < num
不满足时,循环就会结束。
for…in 循环
for...in
是 for
循环的另一个变体, for...in
语句可以用于一组值的集合或列表进行迭代输出。
语法格式如下所示:
for (var val in list) {
//代码块
}
val
的数据类型为 string
或者 any
类型。
示例:
例如我们声明一个数组,然后使用 for...in
循环来遍历这个数组:
let myArr:string[] = ['a', 'b', 'c', 'd'];
let i