# while
在本教程中,你将学习如何使用 TypeScript 中的 while 语句创建循环语句。
# TypeScript 中的 while 语句介绍
while 语句允许你创建一个循环,只要条件为 true 的时候就会执行给定的代码。下面是 TypeScript 中的 while 语句的语法:
while (condition) {
  // do something
}
1
2
3
2
3
while 语句会在每次循环迭代前计算 condition 的值:
- 如果 condition的值为true,while语句将执行其循环体中的代码;
- 如果 condition计算结果为false,跳出循环,执行while循环语句后面的语句。
由于 while 语句是在执行循环体前计算 condition 的值,它也被称为预测循环。
可以使用 if 和 break 语句,在某些条件成立的时候,中断循环:
while (condition) {
  // do something
  // ...
  if (anotherCondition) break;
}
1
2
3
4
5
6
2
3
4
5
6
如果希望执行特定次数的循环,可以使用 TypeScript 中的 for 循环语句。
# while 语句例子
让我们看几个 TypeScript 中的 while 语句的案例。
# 一个简单的 while 语句案例
下面的例子使用 while 语句来判断当 counter 小于 5 的时候,把它的值输出到控制台上:
let counter = 0;
while (counter < 5) {
  console.log(counter);
  counter++;
}
1
2
3
4
5
6
2
3
4
5
6
输出:
0
1
2
3
4
1
2
3
4
5
2
3
4
5
它是这样工作的:
- 首先,声明 counter变量,并把它的值初始化为0;
- 然后,在进入循环之前检查一下 counter的值是否小于5,如果是的话输出counter的值,并把它的值加一;
- 最后,当 counter小于5的时候,重复执行上面的步骤。
# while 语句项目实战
假设 HTML 文档中有以下元素列表:
<ul id="list">
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
  <li>Item 4</li>
</ul>
1
2
3
4
5
6
2
3
4
5
6
下面的例子展示了如果使用 while 语句移除 <ul> 元素上所有的 <li> 元素:
let list = document.querySelector('#list');
while (list.firstChild) {
  list.removeChild(list.firstChild);
}
1
2
3
4
5
2
3
4
5
它是这样工作的:
- 首先,通过 id变量和querySelector()方法查找出<ul>元素;
- 接下来,检查 list元素的firstChild第一个子节点是否存在,如果存在则把它删除。当第一个子节点被删除的时候,下一个子节点将自动提升成第一个子节点。因此,使用这个while循环语句可以删除掉list元素上的所有子节点。
# 小结
- 使用 TypeScript 中的 while语句来创建一个只要条件为true的时候就会一直执行的循环。