zoukankan      html  css  js  c++  java
  • JavaScript continue使用

    上一章讲了break的时候,break是会直接中断当前的循环。但是continue不会中断循环,而是会跳过当前条件,进行下一个条件。

    for( var i = 1; i < 5; i++){
        
                for(var j = 1;  j < 5; j++){
        
                    if( j == 2 ) {
                 
                    continue; //这个continue会直接结束当前条件语句,进行下一次的条件语句
                }
    
                console.log(i, j);                
            }
    } 

    在上面这个案例中,当 i = 1,的时候, j = 1,循环继续进行,输出(1,1);但是当 i = 1 , j = 2 的时候,上一张遇到了break,所以直接跳出当前循环,但是这里是continue,所以他会跳过当前条件,进行下一个条件,所以不会有当前的console.log(i, j); 会直接进入j=3;

    每当遇到 j = 2, 循环就会跳过,进行下一个条件。

    所以结果是 (1,1), (1,3),(1,4),

          (2,1), (2,3),(2,4),

             (3,1), (3,3),(3,4),

          (4,1), (4,3),(4,4)

    之前break中有个标签控制,continue当然也有

    label : for( var i = 1; i < 5; i++){
        
                for(var j = 1;  j < 5; j++){
        
                    if( j == 2 ) {
                 
                    continue label; //这个continue会直接结束当前条件语句,进行下一次的条件语句
                }
    
                console.log(i, j);                
            }
    } 

    在这个例子中,当遇到了continue,他就跳过了外层的for循环,外层跳过了,当然内层也不运行了。 所以当 i = 1,的时候, j = 1,循环继续进行,输出(1,1);但是当 i = 1 , j = 2 的时候, 带有标签label的外层for循环就被跳过,所以就直接进行了 i = 2 的情况。当 i = 2,的时候, j = 1,循环继续进行,输出(2,1);但是当 i = 2 , j = 2 的时候, 又一次遇到了continue,所以i = 2的循环有一次被跳过,所以就进行了 i = 3, i = 4;

    所以最后的结果是: (1,1),(2,1),(3,1),(4,1)

  • 相关阅读:
    HashCode和equal方法
    Quartz.NET 学习笔记整理(一)
    XAML学习笔记(一)
    【转】21个经典的哲理故事
    关于List<T>集合中的差集
    batch files
    Maintenance Plans in MS SQL 2005
    Telerik
    What is DeltaCopy
    How to Insert Values into an Identity Column in SQL Server
  • 原文地址:https://www.cnblogs.com/ningxin/p/10106900.html
Copyright © 2011-2022 走看看