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

js中不同循环的使用以及结束循环方法

写的代码越来越多这种基础的东西就越需要再看看

循环体执行跳出机制使用场景
for (初始化表达式; 条件表达式; 更新表达式) { // 循环体 }
  1. 初始化:仅执行一次,通常用于定义循环变量(如 let i = 0)。
  2. 条件判断:每次循环前检查条件,若为 true 则执行循环体,否则跳出循环。
  3. 执行循环体:执行具体逻辑。
  4. 更新变量:每次循环结束后执行(如 i++),然后再次判断条件。
  1. 正常结束:条件表达式返回 false 时跳出。
  2. 强制跳出:使用 break 直接终止循环。
  3. 跳过本次循环:使用 continue 跳过当前迭代,继续下一次循环。
  • 已知循环次数(如遍历数组索引、固定次数的操作)。
  • 需要精确控制循环变量的更新逻辑。
for (const item of 可迭代对象) { // 循环体,item 为当前元素 }按顺序遍历可迭代对象的每个元素,直到所有元素处理完毕。
  1. 正常结束:遍历完所有元素后跳出。
  2. 强制跳出:使用 break 终止循环。
  3. 跳过本次循环:使用 continue 跳过当前元素,继续下一次迭代。
  • 遍历数组、字符串、Map/Set 等可迭代对象的元素值(而非索引)。
  • 需要简洁地处理每个元素,避免手动维护索引。
while (条件表达式) { // 循环体 }
  1. 先判断条件表达式,若为 true 则执行循环体;若为 false 则直接跳出。
  2. 执行循环体后,再次判断条件,重复上述过程。
  1. 正常结束:条件表达式返回 false 时跳出。
  2. 强制跳出:使用 break 终止循环(即使条件仍为 true)。
  3. 注意死循环风险:若条件永远为 true 且未使用 break,会导致死循环,需手动终止(如浏览器中按 Ctrl + C)。
未知循环次数,需根据条件动态判断是否继续(如读取文件直到结束、用户未取消操作等)
do { // 循环体 } while (条件表达式);
  1. 先执行一次循环体,再判断条件表达式。
  2. 若条件为 true,继续执行循环体;否则跳出
  1. 正常结束:条件表达式返回 false 时,在下次循环前跳出
  2. 强制跳出:使用 break 提前终止循环。
  • 需要至少执行一次循环体的场景(如用户登录验证,先显示界面再判断是否继续)。
for (const key in 对象) { // 循环体,key 为对象的属性名 }遍历对象的可枚举属性(包括自身属性和继承自原型链的属性)。
  1. 正常结束:遍历完所有可枚举属性后跳出。
  2. 强制跳出:使用 break 或 continue,规则与其他循环一致。
  • 不推荐用于数组遍历:会遍历原型链属性(如 Array.prototype 方法),且属性顺序可能不一致。
  • 过滤自身属性:建议配合 hasOwnProperty 判断是否为对象自身属性。

http://www.xdnf.cn/news/505531.html

相关文章:

  • 两个电机由同一个控制器控制,其中一个电机发生堵转时,另一个电机的电流会变大,是发生了倒灌现象吗?电流倒灌产生的机理是什么?
  • Gartner《How to Leverage Lakehouse Design in Your DataStrategy》学习心得
  • SAP HCM 0008数据存储逻辑
  • 《棒球万事通》球类运动有哪些项目·棒球1号位
  • c++ 运算符重载
  • 16 C 语言布尔类型与 sizeof 运算符详解:布尔类型的三种声明方式、执行时间、赋值规则
  • qt6 c++操作qtableview和yaml
  • 使用 CodeBuddy 开发一款富交互的屏幕录制与注释分享工具开发纪实
  • C语言查漏补缺
  • Codeforces Round 1024 (Div.2)
  • 【C/C++】C++返回值优化:RVO与NRVO全解析
  • 安全性(三):信息安全的五要素及其含义
  • Python-92:最大乘积区间问题
  • 从AI系统到伦理平台:技术治理的开放转向
  • docker部署第一个Go项目
  • 语音转文字并进行中英文翻译
  • 【JavaScript】 js 基础知识强化复习
  • 2025系统架构师---选择题知识点(押题)
  • JavaScript基础-作用域链
  • vue3: amap using typescript
  • 【2025 技术指南】如何创建和配置国际版 Apple ID
  • DeepSeek 赋能社会科学:解锁研究新范式
  • 第三十四节:特征检测与描述-SIFT/SURF 特征 (专利算法)
  • JavaScript基础-对象的相关概念
  • NestJS——日志、NestJS-logger、pino、winston、全局异常过滤器
  • ORACLE数据库实例报错ORA-00470: LGWR process terminated with error宕机问题分析报告
  • JavaScript 的编译与执行原理
  • IT运维的365天--026 视频下载相关
  • 常见平方数和立方数的计算
  • 简单网络交换、路由-华三RRPP以太环网