JavaScript如何在else条件中忽略循环?

有两种方法可以在else条件下忽略循环:

  • continue
  • break

简单地说,Break语句退出循环,而continue语句退出特定迭代。

让我们通过一些例子进一步理解。

使用continue语句的for循环:

// Defining the variable
var i;
  
// For loop 
for (i = 0; i < 3; i++) {
    
     // If i is equal to 1, it
     // skips the iteration
     if (i === 1) { continue ; }
  
     // Printing i
     console.log(i);
}

输出如下:

0
2

带Break语句的for循环:

// Defining the variable
var i;
  
// For loop 
for (i = 0; i < 3; i++) {
  
     // If i is equal to 1, it comes
     // out of the for a loop
     if (i === 1) { break ; }
  
     // Printing i
     console.log(i);
}

输出如下:

0

对于每个循环:当涉及到forEach循环时, AngularJS的break和continue语句变得非常混乱。

break和continue语句无法按预期工作, 实现continue的最佳方法是使用return语句, 该break不能在forEach循环中实现。

// Loop which runs through the array [0, 1, 2]
// and ignores when the element is 1
angular.forEach([0, 1, 2], function (count){
     if (count == 1) {
         return true ;
     }
  
     // Printing the element
     console.log(count);
});

输出如下:

0
2

但是, 可以通过包含一个布尔函数来实现break动作, 如下面的示例所示:

// A Boolean variable
var flag = true ;
  
// forEach loop which iterates through
// the array [0, 1, 2]
angular.forEach([0, 1, 2], function (count){
    
     // If the count equals 1 we
     // set the flag to false
     if (count==1) {
         flag = false ;
     }
  
     // If the flag is true we print the count
     if (flag){ console.log(count); }
});

输出如下:

0

更多前端开发相关内容请参考:lsbin - IT开发技术https://www.lsbin.com/

查看以下更多JavaScript相关的内容:

你可能感兴趣的:(JavaScript如何在else条件中忽略循环?)