当前位置: 首页 > news >正文

JavaScript 条件循环语句

条件循环语句‌是编程中的一种控制结构,它允许程序根据特定条件重复执行一段代码,直到满足某个条件为止。这种结构通常包括条件语句和循环语句,它们共同作用,使得程序能够根据预设的条件来决定是否继续执行循环体中的代码。

for 循环:

  • 适用场景:当知道循环次数时(循环次数已知)。
  • 特点:可在一行中定义初始化、条件和增量,结构紧凑。
运算符描述
初始化变量通常用于初始化一个计数器,该表达式可以使用 var 或者 let 关键字声明新的变量,这个变量帮我们来记录次数。推荐使用 let.
条件表达式用于确定每一次循环是否能被执行,如果结果是 true 就继续循环,否则退出循环。
操作表达式每次循环的最后都要执行的表达式。通常用于更新计数器变量的值。

               语法:
for循环语法for(初始化变量①;  条件表达式②;  操作表达式③  ){
// 循环体④
}
示例:
for (let i = 1; i <= 5; i++) {console.log("这是第 " + i + " 次循环");
}
执行流程:
  1. 初始化变量,初始化操作在整个 for 循环只会执行一次。
  2. 继续执行操作表达式,第二轮结束。......
  3. 第二轮开始,直接去执行条件表达式(不再初始化变量),如果为 true,则去执行循环体语句,否则退出循环。
  4. 执行操作表达式,此时第一轮结束。
  5. 执行条件表达式,如果为 true,则执行循环体语句,否则退出循环,循环结束。

整体执行顺序为:① ② ④ ③ ② ④ ③ ② ④ ③ ...... ② 循环结束

for 循环嵌套for 循环:

for  (外循环的初始①;  外循环的条件②;  外循环的操作表达式③)  {
for  (内循环的初始④;  内循环的条件⑤;  内循环的操作表达式⑥)  {
// 需执行的代码⑦;
}
}

整体执行顺序为:① ② ④ ⑤ ⑦ ⑥ ⑤ ⑦ ⑥ ⑤ ...... ⑤ 内循环结束 ③ ② ④ ⑤

⑦ ⑥ ⑤ ⑦ ⑥ ⑤ ...... ⑤ 内循环结束 ③ ...... ② 外循环结束。

2. while 循环

while 循环在条件为真时重复执行代码。适合于不确定循环次数的情况。与for循环不同,while循环的条件是在每次迭代中指定的。只要条件为真,循环就会继续执行。一旦条件为假,循环就会立即停止。

  • 特点:先检查条件,条件为真时执行循环体,适合需要动态判断的情况。
  • 适用场景:当不确定循环次数时,需基于条件进行判断。
      语法:
while  (条件表达式)  {
// 循环体代码
}
//  1.  先执行条件表达式,如果结果为  true,则执行循环体代码;
//	如果为  false,则退出循环,执行后面代码
//  2.  执行循环体代码
//  3.  循环体代码执行完毕后,程序会继续判断执行条件表达式。
示例:
let count = 1;while (count <= 5) {console.log("这是第 " + count + " 次循环");count++; // 增加计数
}

3. do...while 循环

do...while 循环至少会执行一次循环体,因为条件检查是在循环之后进行的。do while 是先执行代码,在进行判断,所以 do while 至少执行一次。

  • 特点:先执行循环体,然后检查条件,确保至少执行一次。
  • 适用场景:至少需要执行一次循环体的情况。
语法:
do {
//  循环体代码  -  条件表达式为  true  时重复执行循环体代码
}  while(条件表达式);
示例:
let count = 1;do {console.log("这是第 " + count + " 次循环");count++;
} while (count <= 5);

4.练习题

练习题1.九九乘法口诀

练习题2. 一百以内的加法

练习题3.一百以内偶数加法 

5.答案

练习题1答案 

  // for循环实现九九乘法口诀for (let i = 1; i <= 9; i++) {for (let j = 1; j <= i; j++) {document.write(j + 'x' + i + '=' + i * j + '  ');}document.write('<br/>');}// while实现九九乘法口诀let i = 1;let j = 1;while (i <= 9) {j = 1;while (j <= i) {document.write(j + '*' + i + '=' + i * j + '  ');j++;}document.write('<br/>'); // 换行i++;}// do while实现九九乘法口诀let u = 1;let g = 1;do {g = 1;while (g <= u) {document.write(u + "x" + g + "=" + u * g + "  ");g++;}document.write('<br/>'); // 换行u++;} while (u <= 9);

练习题2答案 

	// for循环实现一百以内的加法let sum = 0for (let i = 1; i <= 100; i++) {sum += i;}document.write(sum);// while循环实现一百以内的加法let l = 1;let q = 0;while (l <= 100) {q += l;l++;}console.log(q);// do while循环实现一百以内的加法let y = 1;let x = 0;do {x += y;y++;}while (y <= 100);console.log(x);

练习题3答案 

	// for循环实现一百以内偶数加法let add = 0;for (let z = 1; z <= 100; z++) {if (z % 2 == 0) {add += z;}}document.write(add);document.write('<br/>');// while循环实现一百以内偶数加法let s = 1;let and = 0;while (s <= 100) {if (s % 2 == 0) {and += s;}s++;}console.log(and);// do while循环实现一百以内偶数加法let n = 1;let m = 0;do {if (n % 2 == 0) {m += n;}n++;} while (n <= 100);console.log(m);

总结:

  • 循环语句:用于重复执行代码块(forwhiledo...while)。
  • 希望这篇文章能帮助你理解 JavaScript 的条件与循环语句!

相关文章:

JavaScript 条件循环语句

‌条件循环语句‌是编程中的一种控制结构&#xff0c;它允许程序根据特定条件重复执行一段代码&#xff0c;直到满足某个条件为止。这种结构通常包括条件语句和循环语句&#xff0c;它们共同作用&#xff0c;使得程序能够根据预设的条件来决定是否继续执行循环体中的代码。 fo…...

LeetCode2207解题思路

题目描述 字符串中最多数目的子序列 解题思路&#xff1a; 题目要求我们找到在 text 中 找到最多可组成 pattern 的字符串个数&#xff0c;并且允许在 text 的任意位置插入 pattern 中一个字符&#xff0c;也就是说我们只需要考虑 text 中的 pattern 含有的字符即可。例如示例…...

opencv图像增强十四:opencv两种白平衡介绍及实现

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、白平衡介绍二、灰度世界法三、完美反射法 前言 在摄影与影像领域&#xff0c;白平衡是一个至关重要的概念。它直接影响着画面的色彩表现&#xff0c;关系到…...

Linux标准IO(四)-格式化I/O输入

C 库函数提供了 3 个格式化输入函数&#xff0c;包括&#xff1a;scanf()、fscanf()、sscanf()&#xff0c;其函数定义如下所示&#xff1a; #include <stdio.h> int scanf(const char *format, ...); int fscanf(FILE *stream, const char *format, ...); int sscanf(c…...

分布式安装LNMP

目录 搭建LNMP架构 安装mysql 1.上传mysql软件包&#xff0c;关闭防火墙和核心防护 2.安装环境依赖包&#xff0c;桌面安装可能有自带的数据库除 3.配置软件模块 4.编译及安装 5.创建mysql用户 6.修改mysql 配置文件 7.更改mysql安装目录和配置文件的属主属组 8.设置…...

TFTP协议

目录 一、TFTP协议概述 1.1 TFTP协议简介 1.2 TFTP协议特点 二、TFTP协议原理 2.1 TFTP协议工作流程 2.2 TFTP协议数据包格式 三、TFTP协议应用场景 3.1 网络设备配置文件传输 3.2 虚拟机镜像文件传输 3.3 IoT设备固件升级 四、TFTP协议优化方法 4.1 增加超时重传机…...

FPGA随记-二进制转格雷码

反射二进制码&#xff08;RBC&#xff09;&#xff0c;也称为反射二进制&#xff08;RB&#xff09;或格雷码&#xff08;Gray code&#xff09;&#xff0c;得名于Frank Gray&#xff0c;是二进制数制的一种排列方式&#xff0c;使得连续两个值之间仅有一个比特&#xff08;二…...

Android常用C++特性之std::unique_lock

声明&#xff1a;本文内容生成自ChatGPT&#xff0c;目的是为方便大家了解学习作为引用到作者的其他文章中。 std::unique_lock 是 C 标准库中的一种灵活的锁管理类&#xff0c;提供了比 std::lock_guard 更多的功能和灵活性。它可以控制对互斥锁&#xff08;std::mutex&#x…...

网络与信息安全工程师(工信部教育与考试中心)

在当今数字化时代&#xff0c;大量的敏感信息与业务流程在网络上传输和处理&#xff0c;使得网络与信息安全成为保障企业运营、政务管理以及金融交易等关键领域不可忽视的一环。 因此&#xff0c;对网络安全专家的需求日益增长。 例如&#xff0c;金融机构、大型电信运营商以…...

uni-app+vue3开发微信小程序使用本地图片渲染不出来报错[渲染层网络层错误]Failed to load local image resource

我把图片放在assets里面页面通过相对路径引入。结果一直报错。 最后我把图片放在static文件夹下面。然后修改路径指向static就可以了 或者是我们必须先import 这个图片然后在使用 import banner1 from ../../assets/images/banner/banner1.png; <image :src"banner…...

Leetcode 93-复原 IP 地址

有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 ‘.’ 分隔。 例如&#xff1a;“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址&#xff0c;但是 “0.011.255.245”、“192.168.…...

unity 中向指定的动画片段添加动画事件,并播放动画,同时获取动画片段的时长。

示例一 using UnityEngine;using System;public static class AnimationUtils{/// <summary>/// 向指定的动画片段添加动画事件&#xff0c;并播放动画&#xff0c;同时获取动画片段的时长。/// </summary>/// <param name"_animator">需要添加动画…...

JavaEE:探索网络世界的魅力——玩转UDP编程

文章目录 UDPUDP的特点UDP协议端格式校验和前置知识校验和具体是如何工作的? UDP UDP的特点 UDP传输的过程类似于寄信. 无连接: 知道对端的IP和端口号就直接进行传输,不需要建立连接.不可靠: 没有确认机制,没有重传机制,如果因为网络故障导致该段无法到达对方,UDP协议也不会…...

生成式人工智能:企业数字化转型的全新引擎,深度解析The Open Group 2024生态系统架构·可持续发展年度大会

生成式人工智能&#xff1a;企业数字化转型的全新引擎&#xff0c;深度解析The Open Group 2024生态系统架构可持续发展年度大会 随着人工智能技术的飞速发展&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;正以惊人的速度渗透到各行各业&#xff0c;成为企…...

阿里云k8s如何创建可用的api token

阿里云的 Kubernetes 配置文件&#xff08;如您所提供的 YAML 格式文件&#xff09;通常不会直接包含用于连接 Kubernetes 集群的令牌。而是包含了客户端证书和私钥数据&#xff0c;这些是用于通过证书验证而不是令牌验证的方式来与 Kubernetes API 服务器进行安全交互的。 1.…...

leetcode刷题day30|贪心算法Part04重叠区间问题(452. 用最少数量的箭引爆气球、435. 无重叠区间、763.划分字母区间)

前言&#xff1a;今天的三道题目都是重叠区间的问题。 452. 用最少数量的箭引爆气球 思路&#xff1a;局部最优&#xff1a;当气球出现重叠&#xff0c;一起射&#xff0c;所用弓箭最少&#xff1b; 全局最优&#xff1a;把所有气球射爆所用弓箭最少。 按照起始位置排序&…...

MQTT客户端实战:从连接到通信。详细说明MQTT客户端和MQTT代理进行通信

EMQX安装 EMQX服务器安装 安装文档&#xff0c;见链接不另外写 https://docs.emqx.com/zh/emqx/latest/deploy/install-ubuntu.html 启动 EMQX 启动为一个 systemd 服务&#xff1a; sudo systemctl start emqx在windows安装客户端 在线 MQTT WebSocket 客户端工具&…...

【go/方法记录】cgo静态库编译以及使用dlv定位cgo崩溃问题

目录 说在前面文件树静态库编译cgo使用崩溃模拟使用dlv定位崩溃参考 说在前面 测试环境&#xff1a;WSL2go版本&#xff1a;go version go1.23.1 linux/amd64gcc版本&#xff1a;gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0cmake版本&#xff1a;3.22.1 文件树 ├── buffer …...

(笔记自用)位运算总结+LeetCode例题:颠倒二进制位+位1的个数

一.位运算总结: 在解题之前理解一下为什么需要位运算&#xff1f;它的本质是什么&#xff1f; 力扣上不少位运算相关的题&#xff0c;并且很多题也会用到位运算的技巧。这又是为什么&#xff1f; 位运算的由来 在计算机里面&#xff0c;任何数据最终都是用数字来表示的&…...

024.PL-SQL进阶—游标

课 程 推 荐我 的 个 人 主 页&#xff1a;&#x1f449;&#x1f449; 失心疯的个人主页 &#x1f448;&#x1f448;入 门 教 程 推 荐 &#xff1a;&#x1f449;&#x1f449; Python零基础入门教程合集 &#x1f448;&#x1f448;虚 拟 环 境 搭 建 &#xff1a;&#x1…...

DLSS Swapper终极指南:免费开源工具让游戏DLSS管理变得简单快速

DLSS Swapper终极指南&#xff1a;免费开源工具让游戏DLSS管理变得简单快速 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 如果你正在寻找一款能够智能管理游戏DLSS、FSR和XeSS文件的免费开源工具&#xff0c;那么DLS…...

3分钟掌握Seraphine:英雄联盟智能助手完全指南

3分钟掌握Seraphine&#xff1a;英雄联盟智能助手完全指南 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine Seraphine是一款基于英雄联盟官方LCU API开发的智能游戏助手&#xff0c;通过自动BP系统和实时战绩查…...

Steam成就管理器终极指南:3步修复错失的游戏成就

Steam成就管理器终极指南&#xff1a;3步修复错失的游戏成就 【免费下载链接】SteamAchievementManager A manager for game achievements in Steam. 项目地址: https://gitcode.com/gh_mirrors/st/SteamAchievementManager Steam Achievement Manager&#xff08;SAM&a…...

开源机械爪OpenClaw:从设计到力控抓取的完整实现指南

1. 项目概述&#xff1a;从“OpenClaw”看开源机械爪的无限可能最近在逛GitHub的时候&#xff0c;发现了一个挺有意思的项目&#xff0c;叫“MeyerZhou/openclaw”。光看名字&#xff0c;你大概能猜到这是个关于机械爪的开源项目。没错&#xff0c;这是一个旨在提供低成本、模块…...

合宙Air153C看门狗芯片:嵌入式系统可靠性的硬件守护方案

1. 项目概述&#xff1a;一颗“小而美”的国产看门狗芯片最近在做一个低功耗的户外监测设备项目&#xff0c;主控用的就是合宙的Air系列MCU。在调试过程中&#xff0c;最让我头疼的就是系统偶尔的“死机”问题。设备部署在野外&#xff0c;不可能每次都跑过去手动重启。正当我琢…...

期权交易基础框架:模块化设计与Python实现指南

1. 项目概述&#xff1a;一个为期权交易者打造的“乐高积木”底座如果你在量化交易或者期权策略开发领域摸爬滚打过一段时间&#xff0c;大概率会遇到一个共同的痛点&#xff1a;策略想法很多&#xff0c;但把它们变成可回测、可实盘、可管理的代码&#xff0c;却要耗费大量的“…...

WarcraftHelper:魔兽争霸3终极增强插件5分钟快速上手指南

WarcraftHelper&#xff1a;魔兽争霸3终极增强插件5分钟快速上手指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper WarcraftHelper是一款专为魔兽争…...

轻量级Web框架Oli:从核心原理到生产实践

1. 项目概述&#xff1a;一个轻量级、可扩展的Web应用框架最近在梳理手头几个小项目的技术栈时&#xff0c;我又把amrit110/oli这个仓库翻了出来。这是一个在GitHub上由开发者amrit110创建并维护的名为oli的项目。乍一看标题&#xff0c;你可能会有点懵&#xff0c;oli是什么&a…...

Linux磁盘空间告警与清理实战

Linux磁盘空间告警与清理实战磁盘空间不足是 Linux 运维中最常见也最容易引发连锁故障的问题之一。很多服务平时运行正常&#xff0c;但一旦分区写满&#xff0c;轻则日志无法落盘&#xff0c;重则数据库异常、服务启动失败甚至系统不可用。中级技术人员不能只会“删文件腾空间…...

Linux磁盘挂载与开机自启配置

Linux磁盘挂载与开机自启配置磁盘挂载是 Linux 存储管理中的基础操作。很多线上问题都与挂载配置有关&#xff0c;例如重启后数据盘没挂上、路径指向错误分区、应用因挂载点缺失而启动失败。中级阶段不仅要会临时挂载&#xff0c;更要理解永久挂载的配置方式和风险控制。一、先…...