热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaScriptcontinue语句

在本教程中,您将通过示例了解continue语句。    continue语句用于跳过循环的当前迭代,程序的控制流转到下一个迭代。    continue语句的语法是

在本教程中,您将通过示例了解 continue 语句。
    continue 语句用于跳过循环的当前迭代,程序的控制流转到下一个迭代。
    continue 语句的语法是:

continue [label];

注意: label 是可选的,很少使用。

Javascript continue 语句的工作原理

Javascript continue 语句的工作原理

for 循环中的 continue

在 for 循环中,continue 跳过当前迭代,控制流跳转到 update 表达式(如上图工作原理)。

示例 1:打印 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);
}

输出

1
2
4
5

在上面的程序中,for 循环用于在每次迭代中打印 i 的值。
    注意循环内的 continue 语句。

if(i == 3) {
continue;
}

这意味着:

  • 当 i 等于3时,continue 语句跳过第三次迭代。
  • 然后,i 变为4,再次检测 condition 和评估 continue 语句。
  • 因此,在接下来的两次迭代中打印 4 和 5。

注意:continue 语句几乎总是与决策语句一起使用。要了解更多信息,请访问Javascript if…else 语句。
    要了解有关 for 循环的更多信息,请访问Javascript for 循环。
    注意:break 语句完全终止循环。但是,continue 语句仅跳过当前迭代。

while 循环中的 continue

在 while 循环中,continue 跳过当前迭代,程序的控制流跳回 while 条件。
    continue 语句的工作方式与 while 和 do…while 循环相同。

示例 2:计算正数

// 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}.`);

输出

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.

在上述程序中,用户输入一个数字。while 循环用于打印用户输入的正数的总和。
    注意 continue 语句的使用。

if (isNaN(number)) {
continue;
}

  • 当用户输入非数字的数字/字符串时,continue 语句跳过当前迭代。然后程序的控制流进入 while 循环的 condition 判断。
  • 当用户输入小于 0 的数字时,循环终止。

在上面的程序中,isNaN()用于检查用户输入的值是否为数字。
    要了解有关 while 循环的更多信息,请访问Javascript while 循环。

嵌套循环中的 continue

当 continue 在两个嵌套循环内使用时,continue 跳过内部循环的当前迭代。例如,

// 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}`);
}
}

输出

i = 1, j = 1
i = 1, j = 3
i = 2, j = 1
i = 2, j = 3
i = 3, j = 1
i = 3, j = 3

在上面的程序中,当 continue 语句执行时,它跳过了内循环中的当前迭代,程序的控制流转移到了内循环的 update 表达式。
    因此,值 j = 2 永远不会显示在输出中。

Javascript 标记的 continue

使用嵌套循环时,您可以跳过当前迭代,并且可以将程序的控制流传递给 label 语句的 update 表达式。
    但是在 Javascript 中很少使用标签 continue,因为这会使代码更难阅读和理解。
    如果您想了解有关标记为 continue 语句的更多信息,请访问 labeled continue。

上一教程 :JS break                                         下一教程 :JS Switch

参考文档

[1] Parewa Labs Pvt. Ltd. (2022, January 1). Getting Started With Javascript, from Parewa Labs Pvt. Ltd: https://www.programiz.com/Javascript/continue-statement


推荐阅读
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • springmvc学习笔记(十):控制器业务方法中通过注解实现封装Javabean接收表单提交的数据
    本文介绍了在springmvc学习笔记系列的第十篇中,控制器的业务方法中如何通过注解实现封装Javabean来接收表单提交的数据。同时还讨论了当有多个注册表单且字段完全相同时,如何将其交给同一个控制器处理。 ... [详细]
author-avatar
一个人失忆9988_347_289
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有