Thứ Năm, 25 tháng 10, 2018

JavaScript - Kiểm soát vòng lặp

JavaScript cung cấp toàn quyền điều khiển để xử lý các vòng lặp và chuyển đổi câu lệnh. Có thể có một tình huống khi bạn cần phải đi ra khỏi một vòng lặp mà không đạt đến đáy của nó. Cũng có thể có một tình huống khi bạn muốn bỏ qua một phần của khối mã của bạn và bắt đầu lặp lại tiếp theo của vòng lặp.

Để xử lý tất cả các tình huống như vậy, JavaScript cung cấp các câu lệnh ngắtvà tiếp tục . Các câu lệnh này được sử dụng ngay lập tức ra khỏi vòng lặp bất kỳ hoặc để bắt đầu lặp lại tiếp theo của bất kỳ vòng lặp nào tương ứng.

Tuyên bố phá vỡ

Câu lệnh break , được giới thiệu ngắn gọn với câu lệnh switch , được sử dụng để thoát khỏi vòng lặp sớm, phá vỡ các dấu ngoặc nhọn kèm theo.

Sơ đồ

Biểu đồ luồng của câu lệnh ngắt sẽ trông như sau:
Khóa học java miễn phí
Khóa học java miễn phí
Thí dụ

Ví dụ sau minh họa việc sử dụng câu lệnh break với vòng lặp while. Lưu ý cách vòng lặp xuất hiện sớm khi x đạt đến 5 và đạt đến câu lệnh document.write (..) ngay bên dưới dấu ngoặc nhọn đóng.
<html>
   <body>
      
      <script type="text/javascript">
         <!--
         var x = 1;
         document.write("Entering the loop<br /> ");
         
         while (x < 20)
         {
            if (x == 5){
               break; // breaks out of loop completely
            }
            x = x + 1;
            document.write( x + "<br />");
         }
         
         document.write("Exiting the loop!<br /> ");
         //-->
      </script>
      
      <p>Set the variable to different value and then try...</p>
   </body>
</html>

Đầu ra

Entering the loop
2
3
4
5
Exiting the loop!
Set the variable to different value and then try...

Chúng ta đã thấy việc sử dụng câu lệnh break bên trong một câu lệnh switch .


Link đăng ký : Khóa học java miễn phí.

Tuyên bố tiếp tục

Câu lệnh tiếp tục báo cho trình thông dịch biết ngay lập tức bắt đầu vòng lặp tiếp theo của vòng lặp và bỏ qua khối mã còn lại. Khi một câu lệnh tiếp tục gặp phải, luồng chương trình chuyển sang biểu thức kiểm tra vòng lặp ngay lập tức và nếu điều kiện vẫn đúng, thì nó bắt đầu lặp lại tiếp theo, nếu không điều khiển sẽ xuất hiện từ vòng lặp.

Thí dụ

Ví dụ này minh họa việc sử dụng câu lệnh tiếp tục với vòng lặp while. Lưu ý cách câu lệnh tiếp tục được sử dụng để bỏ qua in khi chỉ mục được giữ trong biến x đạt đến 5 -
<html>
   <body>
      
      <script type="text/javascript">
         <!--
            var x = 1;
            document.write("Entering the loop<br /> ");
         
            while (x < 10)
            {
               x = x + 1;
               
               if (x == 5){
                  continue; // skip rest of the loop body
               }
               document.write( x + "<br />");
            }
         
            document.write("Exiting the loop!<br /> ");
         //-->
      </script>
      
      <p>Set the variable to different value and then try...</p>
   </body>
</html>

Đầu ra

Entering the loop
2
3
4
6
7
8
9
10
Exiting the loop!

Sử dụng nhãn để kiểm soát luồng

Bắt đầu từ JavaScript 1.2, một nhãn có thể được sử dụng với ngắt và tiếp tụckiểm soát luồng chính xác hơn. Một nhãn chỉ đơn giản là một định danh theo sau bởi một dấu hai chấm (:) được áp dụng cho một tuyên bố hoặc một khối mã. Chúng ta sẽ thấy hai ví dụ khác nhau để hiểu cách sử dụng các nhãn bằng cách ngắt và tiếp tục.

Lưu ý - Không cho phép ngắt dòng giữa tuyên bố 'tiếp tục' hoặc 'ngắt' và tên nhãn của nó. Ngoài ra, không nên có bất kỳ tuyên bố nào khác giữa tên nhãn và vòng kết nối.

Hãy thử hai ví dụ sau để hiểu rõ hơn về Nhãn.

ví dụ 1

Ví dụ sau đây cho thấy cách triển khai Nhãn bằng câu lệnh ngắt.
<html>
   <body>
      
      <script type="text/javascript">
         <!--
            document.write("Entering the loop!<br /> ");
            outerloop: // This is the label name
         
            for (var i = 0; i < 5; i++)
            {
               document.write("Outerloop: " + i + "<br />");
               innerloop:
               for (var j = 0; j < 5; j++)
               {
                  if (j > 3 ) break ; // Quit the innermost loop
                  if (i == 2) break innerloop; // Do the same thing
                  if (i == 4) break outerloop; // Quit the outer loop
                  document.write("Innerloop: " + j + " <br />");
               }
            }
         
            document.write("Exiting the loop!<br /> ");
         //-->
      </script>
      
   </body>
</html>

Đầu ra

Entering the loop!
Outerloop: 0
Innerloop: 0 
Innerloop: 1 
Innerloop: 2 
Innerloop: 3 
Outerloop: 1
Innerloop: 0 
Innerloop: 1 
Innerloop: 2 
Innerloop: 3 
Outerloop: 2
Outerloop: 3
Innerloop: 0 
Innerloop: 1 
Innerloop: 2 
Innerloop: 3 
Outerloop: 4
Exiting the loop!

Ví dụ 2

<html>
   <body>
   
      <script type="text/javascript">
         <!--
         document.write("Entering the loop!<br /> ");
         outerloop: // This is the label name
         
         for (var i = 0; i < 3; i++)
         {
            document.write("Outerloop: " + i + "<br />");
            for (var j = 0; j < 5; j++)
            {
               if (j == 3){
                  continue outerloop;
               }
               document.write("Innerloop: " + j + "<br />");
            }
         }
         
         document.write("Exiting the loop!<br /> ");
         //-->
      </script>
      
   </body>
</html>

Đầu ra

Entering the loop!
Outerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2
Outerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2
Outerloop: 2
Innerloop: 0
Innerloop: 1
Innerloop: 2
Exiting the loop!

Không có nhận xét nào:

Đăng nhận xét

Lập trình Java - Ngoại lệ

Một ngoại lệ (hoặc sự kiện đặc biệt) là một vấn đề phát sinh trong quá trình thực hiện chương trình. Khi xảy ra Ngoại lệ , luồng bình thường...