post-image

Câu lệnh continue trong JavaScript

Cấu trúc điều kiện Cấu trúc lặp

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 continue là:

continue [label];

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 break trong JavaScript

Cau lenh 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);
}

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;
}

Ở đây:

  • Vòng lặp sẽ in ra giá trị bình thường với i = 1i = 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 = 4i = 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}.`);

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 continue bên trong vòng lặp này.

if (isNaN(number)) {
    continue;
}
  • 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ặp while.
  • 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}`);
    }
}

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 continue, tham khảo label.

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.

Trở thành lập trình viên từ con số 0
Tags:
,

Leave a Reply

Your email address will not be published. Required fields are marked *