JavaScript如何使用while循环
JavaScript 中的 while 循环是一种常用的循环结构,用于在满足一定条件时重复执行一段代码块。while 循环会先检查条件是否为真,如果为真,则执行循环体中的代码,然后再次检查条件。当条件变为假时,循环会结束。
while(条件判断){如果条件为true,则执行循环体代码}
while循环结构说明:在循环开始前,必须要对变量初始化(声明变量,给变量给个初始值)。如果while的条件为true,则会重复不断的执行循环体中({ })的代码。如果条件为false,则退出循环。在循环体中,必须要有“变量更新”的语句。换句话说:两次循环的变量的值不能一样,如果一样,会造成“死循环”。
下面是一个使用 while 循环的例子,用于输出从 1 到 10 的整数:
let i = 1; while (i <= 10) { console.log(i); i++;
}
在这个例子中,我们使用了一个名为 i 的变量来表示当前循环的值。初始值为 1,每次循环时,i 的值会增加 1,直到它大于或等于 10。在循环体中,我们使用 console.log() 函数输出当前的 i 值,并将 i 的值增加 1。当 i 的值大于或等于 10 时,循环会结束。
除了上面的例子外,JavaScript 中的 while 循环还有其他的用法和特性。例如,可以使用 break 和 continue 关键字来控制循环的流程,也可以使用延迟执行等技术来控制循环的执行顺序。在使用 while 循环时,需要根据具体的场景和需求来选择合适的用法和技巧。
以下是一些使用 do…while 循环的例子:
计算 1 到 10 的和:
let sum = 0;
do { sum += 1;
} while (sum <= 10);
console.log(sum); // 输出 55
计算 0 到 9 的平方和:
let squares = [];
do { squares[squares.length - 1] = Math.pow(1 + (squares[squares.length - 1] + 1), 2);
} while (squares.length < 10);
console.log(squares); // 输出 [1, 4, 9, 16, 25, 36, 49, 64, 81]
计算斐波那契数列的第 n 项:
let fibonacci = [0, 1];
do { fibonacci[fibonacci.length - 1] = fibonacci[fibonacci.length - 2] + fibonacci[fibonacci.length - 1];
} while (fibonacci.length < 10);
console.log(fibonacci); // 输出 [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
计算前缀和的最大值:
let max_sum = 0;
let prefix = "";
do { let sum = 0; for (let i = 0; i < 3; i++) { sum += prefix.charAt(i) - 'a'; prefix += "a"; } max_sum = Math.max(max_sum, sum);
} while (prefix !== "");
console.log(max_sum); // 输出 19937
总之,JavaScript 中的 while 循环是一种非常常用的循环结构,可以方便地实现一系列的重复操作或检查条件。学会正确地使用这个结构对于开发有用处哦!
相关文章:
JavaScript如何使用while循环
JavaScript 中的 while 循环是一种常用的循环结构,用于在满足一定条件时重复执行一段代码块。while 循环会先检查条件是否为真,如果为真,则执行循环体中的代码,然后再次检查条件。当条件变为假时,循环会结束。 while(…...
『MySQL 实战 45 讲』16 - “order by” 是怎么工作的
“order by” 是怎么工作的 首先创建一个表 CREATE TABLE t ( id int(11) NOT NULL, city varchar(16) NOT NULL, name varchar(16) NOT NULL, age int(11) NOT NULL, addr varchar(128) DEFAULT NULL, PRIMARY KEY (id), KEY city (city) ) ENGINEInnoDB;全字段排序 在 cit…...
怎么给移动硬盘查错?移动硬盘查错能恢复数据吗
移动硬盘在长期使用或使用不当的情况下,可能会出现硬盘文件损坏或者出现坏道等问题,影响数据安全和文件操作。这时候,移动硬盘查错工具就派上用场了。它可以帮助用户发现移动硬盘中的问题,并且还可以对移动硬盘进行修复。 但是&a…...
javaIO流之缓冲流
目录 简介1、字节缓冲流1.1构造方法1.2缓冲流的高效1.3为什么字节缓冲流会这么快?1.4byte & 0xFF 2、字符缓冲流2.1构造方法2.2字符缓冲流特有方法 3、练习 简介 Java 的缓冲流是对字节流和字符流的一种封装,通过在内存中开辟缓冲区来提高 I/O 操作…...
定义制造业操作(定义 MES/MOM 系统)
制造业操作包含众多工厂级活动,涉及设备(定义、使用、时间表和维护)、材料(识别、属性、位置和状态)、人员(资格、可用性和时间表),以及这些资源与包含其信息碎片的众多系统之间的互…...
人工智能专栏第二讲——人工智能的基础技术
目录 一、机器学习 二、深度学习 三、自然语言处理 四、计算机视觉 五、总结 在第一讲中,我们介绍了人工智能的概念和发展趋势&#...
注意!ChatGPT的Plus账号也会被封禁
文 / 高扬(微信公众号:量子论) 最近经常看到有人丢个截图,然后悲伤地说,ChatGPT账号被封了。 这不是账号被封,而是所用的代理节点被OpenAI封了,换个节点即可。 这个截图才是账号真正被封的提示&…...
理解:Public Key Cryptography的应用
Applications Encryption with public key, decryption with private key Confidentiality or secrecy Encryption with private key, decryption with public key Integrity/authentication 一些概念特征的明确: public key:所有人都知道(公…...
深度学习中的图像分类介绍
文章目录 深度学习中的图像分类介绍深度学习中的图像分类技术卷积神经网络 (Convolutional Neural Network, CNN)深度残差网络 (Deep Residual Network, ResNet)卷积神经网络的变种 图像分类的应用计算机视觉目标检测人脸识别自动驾驶图像搜索视频监控 医疗成像疾病分类病灶识别…...
自然语言处理基础
以下所有内容来自《自然语言处理 基于预训练模型的方法》 1. 文本的表示 利用计算机对自然语言进行处理,首先要解决语言在计算机内部的存储和计算问题。使用字符串表示计算文本的语义信息的时候,往往使用基于规则的方法。如:判断一个句子编…...
低代码与其拓荒,不如颠覆开发行业
目录 一、前言 二、低代码是一个值得信赖的“黑盒子” 粗略总结,开发者对低代码平台所见即所得设计器有两种反应: 三、人人都爱黑盒子 四、用“低代码平台”来开发是什么样的感受? 五、结论 一、前言 在科幻电影中,我们看到…...
【数据结构】散列表(哈希表)
文章目录 前言一、什么是散列表二、什么是哈希函数三、下面简单介绍几种哈希函数四、冲突处理散列冲突的方法开放定址法再散列函数法公共溢出区法链地址法 五、代码实现1.哈希函数2.链表和哈希表的创建3.哈希表初始化3.从哈希表中根据key查找元素4.哈希表插入元素5.元素删除6.哈…...
Flutter 笔记 | Flutter 核心原理(一)架构和生命周期
Flutter 架构 简单来讲,Flutter 从上到下可以分为三层:框架层、引擎层和嵌入层,下面我们分别介绍: 1. 框架层 Flutter Framework,即框架层。这是一个纯 Dart实现的 SDK,它实现了一套基础库,自…...
【Linux进阶之路】基本指令(下)
文章目录 一. 日志 date指令——查看日期基本语法1基本语法2cal指令——查看日历常见选项 二 .find——查找文件常用选项-name显示所有文件显示指定类型的文件 三.grep——行文本过滤工具语法常见的用法补充知识——APP与服务器的联系 四.打包压缩与解压解包zip与unzipzipunzip…...
Vue--》Vue 3 路由进阶——从基础到高级的完整指南
目录 Vue3中路由讲解与使用 路由的安装与使用 路由模式的使用 编程式路由导航 路由传参 嵌套路由 命名视图 重定向与别名 Vue3中路由讲解与使用 Vue 路由是 Vue.js 框架提供的一种机制,它用于管理网页上内容的导航。Vue 路由可以让我们在不刷新页面的情况下…...
【华为OD机试真题】【python】 网上商城优惠活动(一)【2022 Q4 | 100分】
华为OD机试- 题目列表 2023Q1 点这里!! 2023华为OD机试-刷题指南 点这里!! 题目描述 某网上商场举办优惠活动,发布了满减、打折、无门槛3种 优惠券,分别为: 1:每满100元优惠10元,无使用数限制,如100~199元可以使用1张减10元,200-299可使用2张减20元,以此类推; 2:…...
【业务数据分析】—— 用户留存分析(以挖掘Aha时刻为例)
目录 一、用户留存是什么 二、为什么要考虑用户留存 1、为什么要考虑用户留存? 2、影响用户留存的可能因素 3、用户留存的3个阶段 三、怎么进行用户留存分析(挖掘Aha时刻) 1、Aha时刻 2、Aha时刻的作用 3、挖掘Aha时刻 一、用户留存是什么 在互联网行业中&…...
极客的git常用命令手册
极客的git常用命令手册 1.1 权限配置篇1.1.1 创建ssh key1.1.2 本地存在多个密钥时,如何根据目标平台自动选择用于认证的密钥? 1.2 基础信息配置篇1.2.1 配置用户名1.2.2 配置用户邮箱1.2.3 设置文件名大小写区分1.2.4 设置命令行显示颜色1.2.5 检查git全…...
spring-data 一统江湖,玩转多种数据源
1、起因 因为要在项目中同时访问redis,mongo和mysql三种数据库,而且因为偏向spring-data,所以都使用了spring-data 在使用的过程中如果不做配置发现会有冲突,这篇文章也是解决这个问题,避免以后遇到同样的问题不知所…...
【EMC专题】为什么PCB上的单端阻抗控制在50欧?
每当我们在发板后和PCB板厂沟通说有些走线需要阻抗控制,控制在多少多少。其实我们所说的阻抗是传输线的特性阻抗。特性阻抗是不能用万用表测量出来的,他由传输线的结构以及材料决定,与传输线的长度、信号的幅度、频率等均无关。 特性阻抗的概念 当电磁波在电缆上…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
