js中的while循环和do while循环的区别

在 JavaScript 中,while 循环和 do...while 循环都是用来重复执行一段代码块,直到满足某个条件为止。它们的主要区别在于条件检查的位置。

  1. while 循环:在 while 循环中,条件检查在循环体的开始之前进行。如果条件为真,则执行循环体;如果条件为假,则跳过循环体并结束循环。
 
javascriptlet i = 0;
while (i < 5) {
console.log(i);
i++;
}
// 输出:0, 1, 2, 3, 4

在上面的例子中,while 循环首先检查 i < 5 是否为真。如果为真,则执行循环体(console.log(i); i++),然后再次检查条件。这个过程会一直重复,直到条件为假(即 i 不再小于 5)为止。

  1. do...while 循环:在 do...while 循环中,条件检查在循环体的结束之后进行。这意味着无论条件是否为真,循环体至少会执行一次。
 
javascriptlet i = 0;
do {
console.log(i);
i++;
} while (i < 5);
// 输出:0, 1, 2, 3, 4

在上面的例子中,do...while 循环首先执行循环体(console.log(i); i++),然后检查 i < 5 是否为真。如果为真,则再次执行循环体;如果为假,则结束循环。

总结

  • while 循环在条件检查通过时执行循环体。如果条件在一开始就为假,循环体不会执行。
  • do...while 循环至少会执行一次循环体,然后再进行条件检查。如果条件在循环体执行后变为假,循环会立即结束。

这两种循环结构在不同的场景中都很有用,具体使用哪种取决于你的需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/785386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

后管配置js

const chalk require(chalk) const pathrequire(path) function resolve(dir){ return path.join(__dirname,dir) } module.exports{ //没有书写outputDir属性 默认dist 对应dev.assetSubDirectory outputDir:navigation_WEB_new //http://vue.org/v2/guide/installti…

服了,一线城市的后端都卷成这样了吗!?

声明&#xff1a;本文首发在同名公众号&#xff1a;王中阳Go&#xff0c;未经授权禁止转载。 先听TA的故事 投稿的主人公是一名工作5年的后端开发工程师&#xff0c;最近2年用Golang&#xff0c;之前其他语言。去年春节前被裁员了&#xff0c;各种心酸史&#xff0c;好愁人啊。…

docker部署实用的运维开发手册

下载镜像 docker pull registry.cn-beijing.aliyuncs.com/wuxingge123/reference:latestdocker-compose部署 vim docker-compose.yml version: 3 services:reference:container_name: referenceimage: registry.cn-beijing.aliyuncs.com/wuxingge123/reference:latestports:…

ES6学习之路:迭代器Iterator和生成器Generator

迭代器 一、知识背景 什么是迭代器 迭代器就是在一个数据集合中不断取出数据的过程迭代和遍历的区别 遍历是把所有数据都取出迭代器注重的是依次取出数据&#xff0c;它不会在意有多少数据&#xff0c;也不会保证能够取出多少或者能够把数据都取完。比如斐波那契额数列&#…

【IntermLM2】学习笔记

微调方式 在大模型的下游应用中&#xff0c;可以有两种微调方式 增量续训 即无监督的方式&#xff0c;让模型学习一些新知识&#xff0c;比如某些垂直领域的新知识 使用的数据有&#xff1a;书籍&#xff0c;文章&#xff0c;代码等有监督微调 为了让模型学会理解指令进行对话…

openstack云计算(二)——使用Packstack安装器安装一体化OpenStack云平台

初步掌握OpenStack快捷安装的方法。掌握OpenStack图形界面的基本操作。 一【准备阶段】 &#xff08;1&#xff09;准备一台能够安装OpenStack的实验用计算机&#xff0c;建议使用VMware虚拟机。 &#xff08;2&#xff09;该计算机应安装CentOS 7&#xff0c;建议采用CentO…

基于Sermant的全链路灰度发布在汽车行业DMS系统的应用

作者&#xff1a;聂子雄 华为云高级软件工程师 摘要 随着汽车产业的智能升级&#xff0c;DMS系统作为汽车行业的经销管理系统也面临着更加多种多样的业务场景的挑战。借助Sermant&#xff0c;华为云能够为DMS系统提供一整套端到端全链路灰度发布方案&#xff0c;这套方案可以…

深度学习训练中常用的三个基础库tqdmargparseyaml

文章目录 训练常用工具[tqdm][argparse][yaml]tqdm1. 导入tqdm2. 传入可迭代对象快速使用进阶1&#xff1a;通过update()自定义进度条每次更新的步长进阶2&#xff1a;通过set_description和set_postfix自定义进度条内容 Argparse第一步&#xff1a;创建ArgumentParser对象第二…

机器学习在智能音箱中的应用探索与实践:让声音更懂你

&#x1f9d1; 作者简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向的学习指导…

在Compose中方便的使用MVI思想?试试useReducer!

写在前面 本文中提及的use开头的函数&#xff0c;都出自与我的 ComposeHooks 项目&#xff0c;它提供了一系列 React Hooks 风格的状态封装函数&#xff0c;可以帮你更好的使用 Compose&#xff0c;无需关系复杂的状态管理&#xff0c;专心于业务与UI组件。 这是系列文章的第…

2024 ccfcsp认证打卡 2023 03 01 田地丈量

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);int n in.nextInt(); // 输入 n&#xff0c;表示矩形的数量int a in.nextInt(); // 输入 a&#xff0c;表示整个区域的长度int b in.nextInt()…

Hive详解(5)

Hive 窗口函数 案例 需求&#xff1a;连续三天登陆的用户数据 步骤&#xff1a; -- 建表 create table logins (username string,log_date string ) row format delimited fields terminated by ; -- 加载数据 load data local inpath /opt/hive_data/login into table log…

如何在Portainer中创建Nginx服务并搭建静态站点实现公网访问本地网站

文章目录 前言1. 安装Portainer1.1 访问Portainer Web界面 2. 使用Portainer创建Nginx容器3. 将Web静态站点实现公网访问4. 配置Web站点公网访问地址4.1公网访问Web站点 5. 固定Web静态站点公网地址6. 固定公网地址访问Web静态站点 前言 Portainer是一个开源的Docker轻量级可视…

Nginx入门 -- 理解Nginx基础概念:连接(Connection)

在Nginx中&#xff0c;连接&#xff08;Connection&#xff09;是一个基础而又关键的概念。它涉及到服务器与客户端之间的通信、并发处理以及网络性能优化等方面。本文将深入探讨Nginx中连接的概念、类型以及相关的优化策略&#xff0c;帮助读者更好地理解和利用Nginx来构建高性…

报错:TypeError: Cannot handle this data type: (1, 1, 3), <f8

报错内容&#xff1a; 解决方法&#xff1a; 这个错误是由于 PIL 库无法处理特定的数据类型引起的。为了解决这个问题&#xff0c;你可以尝试将数据类型转换为 PIL 可以处理的类型&#xff0c;比如转换为 uint8 类型。你可以在调用 Image.fromarray() 方法之前&#xff0c;将…

SQL,group by分组后分别计算组内不同值的数量

SQL&#xff0c;group by分组后分别计算组内不同值的数量 如现有一张购物表shopping 先要求小明和小红分别买了多少笔和多少橡皮&#xff0c;形成以下格式 SELECT name,COUNT(*) FROM shopping GROUP BY name;SELECT name AS 姓名,SUM( CASE WHEN cargo 笔 THEN 1 ELSE 0 END)…

Java中copy 一个list,不用BeanUtils.copyProperties

1.List不起作用&#xff08;单个对象拷贝有用&#xff0c;list没有用&#xff09; cn.hutool.core.bean.BeanUtils.copyProperties(a, b); org.springframework.beans.BeanUtils.copyProperties(a, b); 2.有效&#xff08;使用JSONObject 先转成字符串再转成List对象&#x…

Java基础知识总结(31)

函数式接口 所谓函数式接口&#xff0c;就是接口中有且只能有一个抽象方法。用FunctionalInterface注解标注&#xff0c;接口可以包含多个默认方法、类方法&#xff0c;私有方法。 方法引用 如果Lambda 表达式的代码块只有一条代码&#xff0c;还可以在代码块中使用方法引用…

Qt QML 坐标转换函数

QML坐标转换 版本相关函数 版本 Qt5.15 相关函数 下面这些函数是隶属于Item的 /// Item object mapFromGlobal(real x, real y) object mapFromItem(Item item, rect r) object mapFromItem(Item item, real x, real y, real width, real height) object mapFromItem(Item …

安装使用Scoop

目标 今天看到一款用于windows系统的包管理工具Scoop&#xff0c;可以在powershell的命令行里安装软件&#xff0c;省去了找软件、配置环境等步骤&#xff0c;看起来还是很香的&#xff0c;正好最近再做csapp的家庭作业&#xff0c;安装个gcc看看是不是这么牛 安装Scoop 按照…