JavaScript - Break 認句:您在循環和開關語句中的逃生出口

你好,未來的編程超級巨星!今天,我們要深入介紹JavaScript的一個小巧思:break 認句。把它當作您在循環或開關語句中遇到的 "緊急出口" 按鈕。讓我們開始吧!

JavaScript - Break Statement

Break 認句是什麼?

break 認句就像在循環或開關語句中按下彈射椅。它告訴JavaScript,"我在這裡做完了,讓我們離開吧!" 當JavaScript遇到 break 時,它會立即退出當前的循環或開關語句,並繼續執行循環或開關之後的下一行代碼。

語法

break 認句的語法簡單之至:

break;

就這樣!只有單個單詞 break 後跟一個分號。但不要被它的簡潔外表欺騙 - 這個小關鍵字威力十足!

流程圖

讓我們用流程圖來視覺化 break 認句在循環中的工作原理:

┌─────────────┐
│ 開始循環     │
└──────┬──────┘
│
┌──────▼──────┐
│ 檢查         │
┌────┤ 狀態         │
│    └──────┬──────┘
│           │ 真實
│    ┌──────▼──────┐
│    │ 執行         │
│    │ 循環體       │
│    └──────┬──────┘
│           │
│    ┌──────▼──────┐
│    │ 遇到 Break?  │
│    └──────┬──────┘
│           │ 是
│    ┌──────▼──────┐
└────► 離開循環     │
└─────────────┘

範例:在 For 循環中使用 Break 認句

我們從一個經典範例開始:在 for 循環中使用 break。想像您是一名老師(就像我!)正在檢查一堆考試卷。您想找到第一個得到100分的学生,然後停止檢查。

let scores = [85, 92, 78, 100, 88, 95];
let perfectScore = false;

for (let i = 0; i < scores.length; i++) {
if (scores[i] === 100) {
console.log("在位置 " + i + " 找到滿分");
perfectScore = true;
break;
}
}

if (!perfectScore) {
console.log("沒有找到滿分");
}

在這個範例中,我們遍歷 scores 陣列。一旦找到100分的成績,我們就記錄其位置,將 perfectScore 設為 true,然後用 break 離開循環。這樣可以節省我們檢查剩餘成績的時間。

範例:在 While 循環中使用 Break 認句

現在,讓我們在 while 循環中使用 break。想像您正在玩一個猜數字遊戲,您需要猜一個1到10之間的數字。

let secretNumber = 7;
let guess;
let attempts = 0;

while (true) {
guess = Math.floor(Math.random() * 10) + 1;
attempts++;

console.log("試試 " + attempts + ":猜到 " + guess);

if (guess === secretNumber) {
console.log("正確!用了 " + attempts + " 次才猜中。");
break;
}

if (attempts >= 10) {
console.log("對不起,您已達到最大試次。");
break;
}
}

在這個範例中,我們使用一個無窮的 while 循環(while true)。我們在兩種情況下用 break 離開循環:當我們猜對或達到最大試次時。

在嵌套循環中使用 Break 認句

當處理嵌套循環時,break 變得更加強大。它允許您退出內部循環並繼續外部循環。想像您正在組織一個小型錦標賽,需要為選手配對,但當您找到技能水平相同的選手時就想停止。

let players = [
{name: "Alice", skill: 7},
{name: "Bob", skill: 9},
{name: "Charlie", skill: 5},
{name: "David", skill: 7}
];

outerLoop: for (let i = 0; i < players.length; i++) {
for (let j = i + 1; j < players.length; j++) {
if (players[i].skill === players[j].skill) {
console.log("找到配對: " + players[i].name + " 和 " + players[j].name);
break outerLoop;
}
}
}

在這裡,我們使用了一個標籤 break 認句。通過在外部循環中添加一個標籤(outerLoop:)並在外部循環的 break 認句中指定這個標籤,我們可以同時退出兩個循環。

在 Switch Case 認句中使用 Break 認句

最後但同樣重要的是,讓我們看看 breakswitch 認句中是如何工作的。想像您正在編寫一個簡單的計算器:

let operation = '+';
let num1 = 5, num2 = 3;
let result;

switch (operation) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
default:
console.log("無效的操作");
break;
}

console.log("結果: " + result);

switch 認句中,break 是非常關鍵的。沒有它,JavaScript會繼續執行下一個案例,即使它與 operation 不匹配。這種行為稱為 "穿透" 行為,通常不是我們想要的。

Break 認句方法總結

這裡是一個快速參考表,列出了我們可以使用 break 的不同方式:

背景環境 使用方式 描述
For 循環 break; 立即退出 for 循環
While 循環 break; 立即退出 while 循環
嵌套循環 break labelName; 同時退出多個循環
Switch Case 認句 break; 立即退出 switch 認句

現在,您已經掌握了 break 認句!它可能很小,但非常有用。它幫助您控制代碼的流程,使其更有效率,並且通常更易於閱讀。記住,編程就像烹飪一樣 - 有時您需要知道何時停止攪拌並將鍋從熱源上拿開。這正是 break 在JavaScript中為您所做的!

現在,去 "打破" 一些東西(在您的代碼中)吧!快樂編程!

Credits: Image by storyset