JavaScript 条件循环语句
条件循环语句是编程中的一种控制结构,它允许程序根据特定条件重复执行一段代码,直到满足某个条件为止。这种结构通常包括条件语句和循环语句,它们共同作用,使得程序能够根据预设的条件来决定是否继续执行循环体中的代码。
for 循环:
- 适用场景:当知道循环次数时(循环次数已知)。
- 特点:可在一行中定义初始化、条件和增量,结构紧凑。
| 运算符 | 描述 |
| 初始化变量 | 通常用于初始化一个计数器,该表达式可以使用 var 或者 let 关键字声明新的变量,这个变量帮我们来记录次数。推荐使用 let. |
| 条件表达式 | 用于确定每一次循环是否能被执行,如果结果是 true 就继续循环,否则退出循环。 |
| 操作表达式 | 每次循环的最后都要执行的表达式。通常用于更新计数器变量的值。 |
语法:
for循环语法for(初始化变量①; 条件表达式②; 操作表达式③ ){
// 循环体④
}
示例:
for (let i = 1; i <= 5; i++) {console.log("这是第 " + i + " 次循环");
}
执行流程:
- 初始化变量,初始化操作在整个 for 循环只会执行一次。
- 继续执行操作表达式,第二轮结束。......
- 第二轮开始,直接去执行条件表达式(不再初始化变量),如果为 true,则去执行循环体语句,否则退出循环。
- 执行操作表达式,此时第一轮结束。
- 执行条件表达式,如果为 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);
总结:
- 循环语句:用于重复执行代码块(
for、while、do...while)。 - 希望这篇文章能帮助你理解 JavaScript 的条件与循环语句!
相关文章:
JavaScript 条件循环语句
条件循环语句是编程中的一种控制结构,它允许程序根据特定条件重复执行一段代码,直到满足某个条件为止。这种结构通常包括条件语句和循环语句,它们共同作用,使得程序能够根据预设的条件来决定是否继续执行循环体中的代码。 fo…...
LeetCode2207解题思路
题目描述 字符串中最多数目的子序列 解题思路: 题目要求我们找到在 text 中 找到最多可组成 pattern 的字符串个数,并且允许在 text 的任意位置插入 pattern 中一个字符,也就是说我们只需要考虑 text 中的 pattern 含有的字符即可。例如示例…...
opencv图像增强十四:opencv两种白平衡介绍及实现
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、白平衡介绍二、灰度世界法三、完美反射法 前言 在摄影与影像领域,白平衡是一个至关重要的概念。它直接影响着画面的色彩表现,关系到…...
Linux标准IO(四)-格式化I/O输入
C 库函数提供了 3 个格式化输入函数,包括:scanf()、fscanf()、sscanf(),其函数定义如下所示: #include <stdio.h> int scanf(const char *format, ...); int fscanf(FILE *stream, const char *format, ...); int sscanf(c…...
分布式安装LNMP
目录 搭建LNMP架构 安装mysql 1.上传mysql软件包,关闭防火墙和核心防护 2.安装环境依赖包,桌面安装可能有自带的数据库除 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随记-二进制转格雷码
反射二进制码(RBC),也称为反射二进制(RB)或格雷码(Gray code),得名于Frank Gray,是二进制数制的一种排列方式,使得连续两个值之间仅有一个比特(二…...
Android常用C++特性之std::unique_lock
声明:本文内容生成自ChatGPT,目的是为方便大家了解学习作为引用到作者的其他文章中。 std::unique_lock 是 C 标准库中的一种灵活的锁管理类,提供了比 std::lock_guard 更多的功能和灵活性。它可以控制对互斥锁(std::mutex&#x…...
网络与信息安全工程师(工信部教育与考试中心)
在当今数字化时代,大量的敏感信息与业务流程在网络上传输和处理,使得网络与信息安全成为保障企业运营、政务管理以及金融交易等关键领域不可忽视的一环。 因此,对网络安全专家的需求日益增长。 例如,金融机构、大型电信运营商以…...
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 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。 例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.…...
unity 中向指定的动画片段添加动画事件,并播放动画,同时获取动画片段的时长。
示例一 using UnityEngine;using System;public static class AnimationUtils{/// <summary>/// 向指定的动画片段添加动画事件,并播放动画,同时获取动画片段的时长。/// </summary>/// <param name"_animator">需要添加动画…...
JavaEE:探索网络世界的魅力——玩转UDP编程
文章目录 UDPUDP的特点UDP协议端格式校验和前置知识校验和具体是如何工作的? UDP UDP的特点 UDP传输的过程类似于寄信. 无连接: 知道对端的IP和端口号就直接进行传输,不需要建立连接.不可靠: 没有确认机制,没有重传机制,如果因为网络故障导致该段无法到达对方,UDP协议也不会…...
生成式人工智能:企业数字化转型的全新引擎,深度解析The Open Group 2024生态系统架构·可持续发展年度大会
生成式人工智能:企业数字化转型的全新引擎,深度解析The Open Group 2024生态系统架构可持续发展年度大会 随着人工智能技术的飞速发展,生成式人工智能(Generative AI)正以惊人的速度渗透到各行各业,成为企…...
阿里云k8s如何创建可用的api token
阿里云的 Kubernetes 配置文件(如您所提供的 YAML 格式文件)通常不会直接包含用于连接 Kubernetes 集群的令牌。而是包含了客户端证书和私钥数据,这些是用于通过证书验证而不是令牌验证的方式来与 Kubernetes API 服务器进行安全交互的。 1.…...
leetcode刷题day30|贪心算法Part04重叠区间问题(452. 用最少数量的箭引爆气球、435. 无重叠区间、763.划分字母区间)
前言:今天的三道题目都是重叠区间的问题。 452. 用最少数量的箭引爆气球 思路:局部最优:当气球出现重叠,一起射,所用弓箭最少; 全局最优:把所有气球射爆所用弓箭最少。 按照起始位置排序&…...
MQTT客户端实战:从连接到通信。详细说明MQTT客户端和MQTT代理进行通信
EMQX安装 EMQX服务器安装 安装文档,见链接不另外写 https://docs.emqx.com/zh/emqx/latest/deploy/install-ubuntu.html 启动 EMQX 启动为一个 systemd 服务: sudo systemctl start emqx在windows安装客户端 在线 MQTT WebSocket 客户端工具&…...
【go/方法记录】cgo静态库编译以及使用dlv定位cgo崩溃问题
目录 说在前面文件树静态库编译cgo使用崩溃模拟使用dlv定位崩溃参考 说在前面 测试环境:WSL2go版本:go version go1.23.1 linux/amd64gcc版本:gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0cmake版本:3.22.1 文件树 ├── buffer …...
(笔记自用)位运算总结+LeetCode例题:颠倒二进制位+位1的个数
一.位运算总结: 在解题之前理解一下为什么需要位运算?它的本质是什么? 力扣上不少位运算相关的题,并且很多题也会用到位运算的技巧。这又是为什么? 位运算的由来 在计算机里面,任何数据最终都是用数字来表示的&…...
024.PL-SQL进阶—游标
课 程 推 荐我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈虚 拟 环 境 搭 建 :…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
