JavaScript while 循环 功能 用法运用 详解

news/2025/3/10 19:50:20/文章来源:https://www.cnblogs.com/baisemoshui/p/18763498

JavaScript while 循环

功能while 循环是一种用于反复执行代码块的控制结构,适用于在循环次数未知但需要基于某个条件继续执行的情况下进行迭代。它提供了一种简洁的方式来处理需要动态判断的重复任务。

用法及运用

基本结构

while (condition) {// 循环执行的代码块
}
  • condition:在每次循环迭代前计算的表达式。如果评估为 true,循环将继续;如果评估为 false,循环将终止。

示例

let count = 0;while (count < 5) {console.log(count);count++;
}

在这个示例中,while 循环将持续执行,直到 count 不小于 5。每次迭代时,count 的值都会增加 1

扩展用法

无限循环

如果 condition 始终为 true,则会形成无限循环。通常用于需要持续运行的任务,直到某个外部条件改变。

let count = 0;while (true) {console.log(count);count++;if (count >= 5) {break; // 使用 break 语句退出循环}
}

使用 continue

continue 语句用于跳过当前迭代并继续下一次迭代。

let count = 0;while (count < 5) {count++;if (count === 3) {continue; // 跳过 count 为 3 的情况}console.log(count);
}

在这个示例中,当 count3 时,continue 语句会导致循环跳过 console.log(count)

注意事项

  • 循环条件:确保 condition 能够在某个时刻变为 false,否则可能导致无限循环。
  • 作用域:在 while 循环中声明的变量作用域与 while 语句块相同。
  • 性能while 循环在处理简单条件判断时非常高效,但在复杂条件下,可能需要额外的逻辑来控制循环。

综合运用示例

function findFactorial(n) {let factorial = 1;let i = 1;while (i <= n) {factorial *= i;i++;}return factorial;
}console.log(findFactorial(5)); // 输出 120 (5! = 5 * 4 * 3 * 2 * 1)

在这个示例中,findFactorial 函数使用 while 循环计算 n 的阶乘。

与其他循环结构的比较

do...while 循环

do...while 循环与 while 循环类似,但区别在于它会先执行一次循环体,然后再检查条件。

let count = 0;do {console.log(count);count++;
} while (count < 5);

在这个示例中,即使 count 初始值为 0,循环体也会至少执行一次。

for 循环

在已知迭代次数或需要计数器时,for 循环通常更简洁。

for (let count = 0; count < 5; count++) {console.log(count);
}

总结

while 循环是 JavaScript 中用于处理基于条件重复任务的基本结构之一。通过灵活使用 breakcontinue 语句,可以控制循环的执行流程。while 循环特别适合用于在条件未知或需要动态判断的情况下进行迭代。

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

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

相关文章

BigDecimal类--java进阶day05

1.BigDecimal出现的原因2.BigDecimal的创建不推荐第一种形式,会有误差第二种方式创建对象第三种方式调用方法2.BigDecimal常用方法除法的特殊事项 如果有除不尽的情况,常规的除法会出现问题divide的另一种方法 divide还有一个重载方法,可以解决除不尽的问题舍入模式中,进一…

3.10 学习记录

实现了员工页面的前端代码实现点击查看代码 <script setup> import { ref, onMounted } from vue import axios from axiosconst searchEmp = ref({name: ,gender: ,job: , })onMounted(() => {search(); })const search = async () => {const url = `https://web-…

transformer 中的掩码类型

知识是我们已知的也是我们未知的基于已有的知识之上我们去发现未知的由此,知识得到扩充我们获得的知识越多未知的知识就会更多因而,知识扩充永无止境

如何设计、维护和推广 API:专业人士的实用指南

API 在今天的数字化环境中扮演着至关重要的角色,它们作为系统和应用程序之间的连接纽带。对于公司而言,打造用户喜爱的 API、有效地维护它们并成功地在内部和外部推广,不仅能提高数字价值,还能带来巨大的业务收益。 API 设计是创建一个标准化、易于理解且稳定的应用程序接口…

springboot引入nacos

springboot引入nacos 一、 环境准备(windows为例)安装nacos(github镜像网址:Releases alibaba/nacos) 推荐下载发行版启动nacos本地服务 下载完毕,建议解压到没有中文路径的文件夹,在bin目录下打开cmd对话框输入下面命令启动nacos startup.cmd -m standalone启动成功出现以…

95%开发者不知道的调试黑科技:Apipost让WebSocket开发效率翻倍的秘密

在现代 Web 开发中,Websocket 作为一种常见的 Web 协议,与 Restful API 有着本质的不同。Restful API是基于请求-响应模式的单向通信,而 WebSocket 提供全双工通信渠道,允许客户端和服务器之间进行实时双向数据传输。这种特性使得它在需要实时交互的场景中大放异彩,比如 I…

题解:P9221 「TAOI-1」Pentiment

P9221 解题报告 一眼线段树优化 dp,但是调了7h。 首先考虑朴素 dp,设 \(dp_{i,j}\) 表示走到第 \(i\) 行第 \(j\) 列的方案数,转移: \[dp_{i,j}=\sum dp_{i-1,k} \]其中 \(k\) 表示第 \(i\) 行可以走到 \(j\) 的列。 比如如果第 \(i\) 行是下面这种情况:当 \(j=3\) 时,\(…

【Java开发】Tools4AI:一个适用于企业Java应用的开源智能体框架

一、简介 GitHub主页:(https://github.com/vishalmysore/Tools4AI) Tools4AI 是一个基于 Java 的开源智能体框架,它为企业Java应用程序提供了一种集成人工智能的独特方法。作为一个大型动作模型(Large Action Model,LAM)智能体,Tools4AI 能够根据自然语言指令自主执行任务…

英语328个词缀和词根汇总(14张图)

在所有的单词记忆法中,构词法是最科学、记忆效果最佳的词汇记忆法。下面整理了高中常用的词根、词缀。利用有限的词根、词缀对英语单词进行构词分析和解形释义,单词变得好认又好记,词义也一目了然。通过构词法记单词,可以举一反三,记一识十,从而达到事半功倍的记忆效果。…

No.48 ES6---数组扩展之扩展运算符和新增方法

一、数组扩展之扩展运算符 1.扩展运算符扩展运算符(spread)是三个点(…)。将一个数组转为用逗号分隔的参数序列。<script>var arr = [10,23,45,6,7];//以前获取数组中的每个元素for(let i = 0;i<arr.length;i++){console.log(arr[i]);}//有了扩展运算符之后console.lo…

Zabbix 7.0 LTS 部署

Zabbix 7.0LTS教程 一、环境介绍 操作系统:Rocky Linux 9.5 软件版本:7.0LTS 二、安装教程 官网:Zabbix:企业级开源监控解决方案 点击右上角的下载ZABBIX选择对应的环境:选择之后往下拉会看到相应的部署步骤:2.1 软件源配置 按照文档提示:如果有epel.repo源码,需要先注释…