NỘI DUNG BÀI VIẾT
Giới thiệu
Câu lệnh continue
trong JavaScript được sử dụng để bỏ qua luồng điều khiển của chương trình và lần lặp hiện tại của vòng lặp để chuyển sang lần lặp tiếp theo. Dễ hiểu hơn, continue
sẽ bỏ qua toàn bộ đoạn mã phía dưới để nhảy đến lần lặp tiếp theo.
Cú pháp của câu lệnh
là:continue
continue [label];
Code language: JavaScript (javascript)
Lưu ý: label
(nhãn) không bắt buộc và rất hiếm khi được sử dụng.
Luồng xử lý của câu lệnh continue trong JavaScript
Sử dụng continue trong vòng lặp for
Trong vòng lặp for
, câu lệnh continue
sẽ bỏ qua lần lặp hiện tại và luồng điều khiển để nhảy sang lần lặp tiếp theo.
Ví dụ 1: In giá trị của i
// program to print the value of i
for (let i = 1; i <= 5; i++) {
// condition to continue
if (i == 3) {
continue;
}
console.log(i);
}
Code language: JavaScript (javascript)
Kết quả:
1
2
4
5
Trong ví dụ trên, vòng lặp for
được sử dụng để in ra màn hình giá trị của i trong mỗi lần lặp. Chú ý vào câu lệnh continue
bên trong vòng lặp này.
if(i == 3) {
continue;
}
Code language: JavaScript (javascript)
Ở đây:
- Vòng lặp sẽ in ra giá trị bình thường với
i = 1
vài = 2
. - Khi
i = 3
, câu lệnh continue sẽ bỏ qua lần lặp thứ 3 này. - Vòng lặp sẽ in ra giá trị bình thường với
i = 4
vài = 5
.
Lưu ý: Câu lệnh continue
hầu như được sử dụng với các câu lệnh điều kiện, rẽ nhánh. Để tìm hiểu thêm, tham khảo Câu lệnh điều kiện If – else trong JavaScript.
Tìm hiểu thêm về vòng lặp for
, xem thêm Vòng lặp For trong JavaScript.
Lưu ý: Câu lệnh break
kết thúc hoàn toàn vòng lặp, câu lệnh continue
chỉ bỏ qua lần này hiện tại.
Sử dụng continue trong vòng lặp while
Trong vòng lặp while
, câu lệnh continue
sẽ bỏ qua lần lặp hiện tại và luồng điều khiển để nhảy sang lần lặp tiếp theo.
Câu lệnh continue
hoạt động như nhau dù là vòng lặp while
hay do...while
đi chăng nữa.
Ví dụ 2: Tính tổng các số nguyên dương
// program to calculate positive numbers only
// if the user enters a negative number, that number is skipped from calculation
// negative number -> loop terminate
// non-numeric character -> skip iteration
let sum = 0;
let number = 0;
while (number >= 0) {
// add all positive numbers
sum += number;
// take input from the user
number = parseInt(prompt('Enter a number: '));
// continue condition
if (isNaN(number)) {
console.log('You entered a string.');
number = 0; // the value of number is made 0 again
continue;
}
}
// display the sum
console.log(`The sum is ${sum}.`);
Code language: JavaScript (javascript)
Kết quả:
Enter a number: 1
Enter a number: 2
Enter a number: hello
You entered a string.
Enter a number: 5
Enter a number: -2
The sum is 8.
Trong ví dụ trên, người dùng sẽ nhập vào 1 số bất kỳ. Vòng lặp while
được sử dụng để in ra tổng các số nguyên dương được nhập vào bởi người dùng.
Chú ý vào câu lệnh
bên trong vòng lặp này.continue
if (isNaN(number)) {
continue;
}
Code language: JavaScript (javascript)
- Khi người dùng nhập một chuỗi không phải số, câu lệnh
continue
sẽ bỏ qua lần lặp hiện tại. Khi đó luồng điều khiển của chương trình chuyển sang điều kiện của vòng lặpwhile
. - Khi người dùng nhập một số nhỏ hơn 0, kết thúc vòng lặp.
Trong chương trình trên, isNaN()
được sử dụng để kiểm tra xem giá trị mà người dùng nhập vào có phải là số hay không.
Để tìm hiểu thêm về vòng lặp while
, tham khảo Vòng lặp While và Do – While trong JavaScript.
Sử dụng continue trong vòng lặp lồng nhau
Khi câu lệnh continue
được sử dụng bên trong hai vòng lặp lồng nhau, continue
sẽ bỏ qua lần lặp hiện tại của vòng lặp bên trong. Ví dụ:
// nested for loops
// first loop
for (let i = 1; i <= 3; i++) {
// second loop
for (let j = 1; j <= 3; j++) {
if (j == 2) {
continue;
}
console.log(`i = ${i}, j = ${j}`);
}
}
Code language: JavaScript (javascript)
Kết quả:
i = 1, j = 1
i = 1, j = 3
i = 2, j = 1
i = 2, j = 3
i = 3, j = 1
i = 3, j = 3
Trong ví dụ trên, khi câu lệnh continue
thực thi, nó sẽ bỏ qua lần lặp hiện tại trong vòng lặp bên trong và luồng điều khiển của chương trình sẽ nhảy ra khỏi vòng lặp bên trong.
Do đó, giá trị của j = 2
không bao giờ được hiển thị trong kết quả.
Gắn nhãn cho câu lệnh continue trong JavaScript
Khi sử dụng các vòng lặp lồng nhau, bạn cũng có thể bỏ qua lần lặp hiện tại và luồng điều khiển của chương trình bằng một label
.
Tuy nhiên, label
của continue
hiếm khi được sử dụng trong JavaScript vì điều này làm cho đoạn mã khó đọc và khó hiểu hơn.
Nếu bạn muốn tìm hiểu thêm về label
của
, tham khảo label.continue
Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.
Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.