注意: 如果您是 TypeScript 新手,请先查看我们的 TypeScript 入门 教程。
当遇到 break
语句时,它会立即终止循环。
这是一个简单的 break
语句示例。您可以阅读其余的教程以了解更多信息。
示例
// Infinite loop because condition is always true
while (true) {
// Get input from user
let userInput: string | null = prompt("Enter a number: ");
// Convert input to number
let numInput: number = Number(userInput);
// break condition
if (numInput == 0) {
break;
}
console.log(numInput);
}
// Output:
// Enter a number: 5
// 5
// Enter a number: 0
在此示例中,当用户输入为 0 时,break
语句会终止无限循环。如果不是 0,则循环将继续接收输入并将其打印到屏幕。
TypeScript break 语句的工作原理
下图显示了 break
语句在 for 和 while 循环中的工作原理。

注意:break
语句通常用于决策语句(如 if...else)中。
示例 1:TypeScript break 与 for 循环
// Program to print the value of i
for (let i: number = 1; i <= 5; i++) {
// break condition
if (i == 3) {
break;
}
console.log(i);
}
输出
1 2
在上面的程序中,我们使用 for 循环打印数字 1 到 5。请注意 if
语句中 break
的用法。
if (i == 3) {
break;
}
在这里,当 i 的值变为 3 时,将执行 break
语句,从而终止循环。
因此,输出不包含大于或等于 3 的值。
示例 2:TypeScript break 与 while 循环
我们可以使用 break
语句终止 while
循环。例如,
// Program to find the sum of positive numbers
// The while loop runs infinitely
// Loop terminates only when user enters a negative number
let sum: number = 0;
// Infinite loop
while (true) {
// Get user input
let userInput: string | null = prompt("Enter a number: ");
// Convert user input to number
let numInput: number = Number(userInput);
// Terminate the loop if numInput is negative
if (numInput < 0) {
break;
}
// Otherwise, add numInput to sum
else {
sum += numInput;
}
}
// Print the sum
console.log(`Sum: ${sum}`);
输出
Enter a number: 3 Enter a number: 5 Enter a number: 0 Enter a number: 8 Enter a number: -3 Sum: 16
在上面的示例中,我们使用了一个条件始终为 true
的 while
循环。
while (true) {
// Code
}
在循环内,我们要求用户输入。
- 如果输入值是负数,则
numInput < 0
变为true
,break
语句终止循环。 - 否则,输入值将被加到 sum 变量中。
if (numInput < 0) {
break;
}
else {
sum += numInput;
}
更多关于 TypeScript break
当 break
用于两个嵌套循环时,它会终止内层循环。例如,
// Nested for loops
// Outer loop
for (let i: number = 1; i <= 3; i++) {
// Inner loop
for (let j: number = 1; j <= 3; j++) {
if (i == 2) {
break;
}
console.log(`i = ${i}, j = ${j}`);
}
}
输出
i = 1, j = 1 i = 1, j = 2 i = 1, j = 3 i = 3, j = 1 i = 3, j = 2 i = 3, j = 3
在上面的程序中,当 i == 2
时执行 break
语句。它终止内层循环,并将控制流移至外层循环。
因此,值 `i = 2` 永远不会在输出中显示。

在使用嵌套循环时,我们可以使用**带标签的 break 语句**来终止外部循环。

从图中可以看出,outerLoop
标签标识了外层循环。
当遇到 break outerLoop;
时,它会退出外层循环,并将控制权转移到其后的语句。
让我们看一个例子。
outerLoop: for (let i: number = 1; i <= 3; i++) {
innerLoop: for (let j: number = 1; j <= 3; j++) {
if (j === 3) {
break outerLoop;
}
console.log(`i = ${i}, j = ${j}`);
}
}
输出
i = 1, j = 1 i = 1, j = 2
在上面的示例中,我们为循环标记了
outerLoop: for (let i: number = 1; i <= 3; i++) {...}
innerLoop: for (let j: number = 1; j <= 3; j++) {...}
这有助于我们标识循环。请注意带标签的 break
语句的使用。
if (j === 3) {
break outerLoop;
}
在这里,break
语句将终止标记为 outerLoop
的循环。
我们也可以在 switch 语句中使用 break
语句来终止一个 case。例如,
let fruit: string = "Apple";
switch (fruit) {
case "Banana":
console.log("Banana is good!");
break;
case "Apple":
console.log("Apple is tasty!");
break;
default:
console.log("Unknown fruit!");
}
// Output: Apple is tasty!
在此示例中,将执行 "Apple"
的 case,然后 break
终止 switch
语句。
另请阅读