JavaScript - Lệnh Break: Lối thoát của bạn trong các Vòng lặp và Switch
Xin chào, siêu sao lập trình tương lai! Hôm nay, chúng ta sẽ cùng khám phá một trong những mẹo nhỏ của JavaScript: lệnh break
. Hãy tưởng tượng nó như nút "cửa thoát khẩn cấp" khi bạn bị mắc kẹt trong một vòng lặp hoặc câu lệnh switch. Hãy bắt đầu nào!
Lệnh Break là gì?
Lệnh break
giống như nhấn nút phóng ghế trong một vòng lặp hoặc câu lệnh switch. Nó告诉 JavaScript, "Tôi đã xong rồi, hãy ra ngoài!" Khi JavaScript gặp lệnh break
, nó ngay lập tức thoát khỏi vòng lặp hoặc câu lệnh switch hiện tại và tiếp tục với dòng mã tiếp theo sau vòng lặp hoặc switch.
Cú pháp
Cú pháp của lệnh break
rất đơn giản:
break;
Đó là tất cả! Chỉ cần từ break
theo sau là dấu phẩy đơn. Nhưng đừng để sự đơn giản của nó đánh lừa bạn - từ khóa nhỏ này có sức mạnh lớn!
Sơ đồ 流程
Hãy tưởng tượng cách lệnh break
hoạt động trong một vòng lặp:
┌─────────────┐
│ Bắt đầu Vòng lặp │
└──────┬──────┘
│
┌──────▼──────┐
│ Kiểm tra │
┌────┤ Điều kiện │
│ └──────┬──────┘
│ │ true
│ ┌──────▼──────┐
│ │ Thực hiện │
│ │ Thân Vòng lặp │
│ └──────┬──────┘
│ │
│ ┌──────▼──────┐
│ │ Gặp lệnh │
│ │ Break? │
│ └──────┬──────┘
│ │ yes
│ ┌──────▼──────┐
└────► Thoát Vòng lặp │
└─────────────┘
Ví dụ: Lệnh Break trong Vòng lặp For
Hãy bắt đầu với một ví dụ kinh điển: sử dụng break
trong vòng lặp for
. Hãy tưởng tượng bạn là một giáo viên (như tôi!) đang kiểm tra một chồng bài thi. Bạn muốn tìm học sinh đầu tiên đạt điểm 100 và sau đó dừng lại.
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ểm hoàn hảo tìm thấy tại vị trí: " + i);
perfectScore = true;
break;
}
}
if (!perfectScore) {
console.log("Không tìm thấy điểm hoàn hảo.");
}
Trong ví dụ này, chúng ta vòng qua mảng scores
. Ngay khi tìm thấy điểm 100, chúng ta ghi lại vị trí của nó, đặt perfectScore
thành true
, và sau đó break
ra khỏi vòng lặp. Điều này giúp chúng ta khỏi cần kiểm tra các điểm còn lại.
Ví dụ: Lệnh Break trong Vòng lặp While
Bây giờ, hãy sử dụng break
trong vòng lặp while
. Hãy tưởng tượng bạn đang chơi một trò chơi đoán số, nơi bạn cần đoán một số từ 1 đến 10.
let secretNumber = 7;
let guess;
let attempts = 0;
while (true) {
guess = Math.floor(Math.random() * 10) + 1;
attempts++;
console.log("Lượt " + attempts + ": Đoán " + guess);
if (guess === secretNumber) {
console.log("Đúng! Nó mất " + attempts + " lượt.");
break;
}
if (attempts >= 10) {
console.log("Xin lỗi, bạn đã đạt số lần thử tối đa.");
break;
}
}
Trong ví dụ này, chúng ta sử dụng một vòng lặp vô hạn (while true
). Chúng ta break
ra khỏi vòng lặp trong hai kịch bản: khi đoán chính xác hoặc khi đạt số lần thử tối đa.
Lệnh Break trong Vòng lặp Lồng
break
trở nên mạnh mẽ hơn khi xử lý các vòng lặp lồng. Nó cho phép bạn thoát khỏi vòng lặp trong và tiếp tục với vòng lặp ngoài. Hãy tưởng tượng bạn đang tổ chức một giải đấu nhỏ và cần ghép cặp các cầu thủ, nhưng muốn dừng lại ngay khi tìm thấy một cặp có cùng kỹ năng.
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("Cặp tìm thấy: " + players[i].name + " và " + players[j].name);
break outerLoop;
}
}
}
Tại đây, chúng ta sử dụng lệnh break
có nhãn. Bằng cách thêm nhãn (outerLoop:
) vào vòng lặp ngoài và chỉ định nhãn này trong lệnh break
, chúng ta có thể thoát khỏi cả hai vòng lặp cùng một lúc.
Lệnh Break trong Câu lệnh Switch Case
Cuối cùng, hãy xem cách break
hoạt động trong câu lệnh switch
. Hãy tưởng tượng bạn đang viết một máy tính đơn giản:
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("Phép toán không hợp lệ");
break;
}
console.log("Kết quả: " + result);
Trong câu lệnh switch
, break
rất quan trọng. Nếu không có nó, JavaScript sẽ tiếp tục thực thi câu lệnh tiếp theo ngay cả khi không khớp với operation
. Điều này được gọi là hành vi "tràn qua" (fall-through), điều mà thường không phải là điều chúng ta muốn.
Tóm tắt các Phương thức sử dụng Lệnh Break
Dưới đây là bảng tham khảo nhanh về các cách khác nhau chúng ta có thể sử dụng break
:
Bối cảnh | Sử dụng | Mô tả |
---|---|---|
Vòng lặp For | break; |
Thoát khỏi vòng lặp for ngay lập tức |
Vòng lặp While | break; |
Thoát khỏi vòng lặp while ngay lập tức |
Vòng lặp Lồng | break labelName; |
Thoát khỏi nhiều vòng lặp cùng một lúc |
Câu lệnh Switch | break; |
Thoát khỏi câu lệnh switch |
Và thế là xong, các bạn! Lệnh break
có thể nhỏ, nhưng nó rất hữu ích. Nó giúp bạn kiểm soát luồng mã của mình, làm cho mã hiệu quả hơn và thường dễ đọc hơn. Nhớ rằng, lập trình giống như nấu ăn - đôi khi bạn cần biết khi nào dừng lại khuấy và lấy nồi ra khỏi bếp. Đó chính là điều break
làm cho bạn trong JavaScript!
Bây giờ, hãy ra ngoài và "break" thứ gì đó (trong mã của bạn, tất nhiên)! Chúc các bạn lập trình vui vẻ!
Credits: Image by storyset