建设银行企业网站无锡网站建设无锡

张小明 2026/1/19 22:06:24
建设银行企业网站,无锡网站建设无锡,网站显示建设中,海外推广大使循环是编程的核心逻辑之一#xff0c;它让我们能够重复执行一段代码#xff0c;处理批量数据、实现自动化操作#xff0c;是JavaScript开发中不可或缺的基础能力。JavaScript提供了多种循环语句#xff0c;每种都有其适用场景和特性。本文将从基础到进阶#xff0c;全面拆…循环是编程的核心逻辑之一它让我们能够重复执行一段代码处理批量数据、实现自动化操作是JavaScript开发中不可或缺的基础能力。JavaScript提供了多种循环语句每种都有其适用场景和特性。本文将从基础到进阶全面拆解JavaScript中的循环语句帮你理清它们的用法、区别和最佳实践。一、JavaScript循环语句的核心分类JavaScript中的循环语句主要分为两大类基础循环结构for、while、do...while和迭代器循环for...in、for...of此外还有特殊的循环控制语句break、continue和ES6新增的迭代方法如forEach。我们先从最基础的循环开始讲起。1. for循环最经典的计数循环for循环是JavaScript中最常用、最灵活的循环形式尤其适合已知循环次数的场景比如遍历固定长度的数组、执行指定次数的操作。语法结构for (初始化表达式; 条件表达式; 更新表达式) { // 循环体条件为true时执行的代码 }初始化表达式循环开始前执行一次通常用于声明循环变量如let i 0条件表达式每次循环前判断结果为true则执行循环体false则终止循环更新表达式循环体执行后执行通常用于更新循环变量如i。示例遍历数组const fruits [苹果, 香蕉, 橙子]; for (let i 0; i fruits.length; i) { console.log(第${i1}个水果${fruits[i]}); } // 输出 // 第1个水果苹果 // 第2个水果香蕉 // 第3个水果橙子特点可精准控制循环次数和循环变量的步长如i 2实现隔行遍历支持嵌套循环如二维数组遍历但嵌套过深会影响性能循环变量作用域可通过let/var控制推荐用let避免变量泄漏。2. while循环条件驱动的循环while循环适用于未知循环次数仅知道循环终止条件的场景比如用户输入验证、动态数据处理。语法结构while (条件表达式) { // 循环体条件为true时执行 }示例累加直到和大于100let sum 0; let num 1; while (sum 100) { sum num; num; } console.log(累加和超过100时的总和${sum}); // 输出105注意事项必须在循环体内更新条件相关的变量否则会导致无限循环如忘记写num条件表达式首次判断为false时循环体一次都不会执行。3. do...while循环先执行后判断do...while循环是while循环的变体特点是循环体至少执行一次再判断条件是否继续循环。语法结构do { // 循环体先执行一次 } while (条件表达式);示例用户输入验证let input; do { input prompt(请输入数字1-10); } while (isNaN(input) || input 1 || input 10); console.log(你输入的有效数字是${input});特点适合“必须执行一次”的场景如表单初始验证、初始化操作结尾的分号不能省略否则会导致语法错误。4. for...in循环遍历对象的可枚举属性for...in专门用于遍历对象的可枚举属性包括原型链上的属性也可遍历数组的索引但不推荐。语法结构for (const 键名 in 对象/数组) { // 循环体键名对应对象的属性名/数组的索引 }示例遍历对象属性const person { name: 张三, age: 25, gender: 男 }; for (const key in person) { // 过滤原型链上的属性推荐 if (person.hasOwnProperty(key)) { console.log(${key}${person[key]}); } } // 输出 // name张三 // age25 // gender男注意事项遍历数组时索引是字符串类型如0可能导致意外问题会遍历原型链上的继承属性需用hasOwnProperty过滤遍历顺序不固定尤其对于非数字属性的对象。5. for...of循环遍历可迭代对象的值ES6新增的for...of是遍历可迭代对象数组、字符串、Set、Map、Generator等的首选方式直接获取值而非索引/键名。语法结构for (const 值 of 可迭代对象) { // 循环体值对应可迭代对象的每一个元素 }示例1遍历数组const numbers [10, 20, 30]; for (const num of numbers) { console.log(num); // 输出10 20 30 }示例2遍历字符串const str JavaScript; for (const char of str) { console.log(char); // 逐个输出字符J a v a S c r i p t }特点不遍历原型链属性只遍历自身元素支持break/continue/return中断循环可结合entries()获取索引和值for (const [index, num] of numbers.entries()) {console.log(索引${index}${num});}二、循环控制语句break continue除了循环本身JavaScript还提供了两个关键的控制语句用于灵活调整循环流程1. break终止整个循环立即终止当前循环跳出循环体执行循环后的代码。for (let i 1; i 5; i) { if (i 3) break; // 当i3时终止循环 console.log(i); // 输出1 2 }2. continue跳过当前次循环跳过当前循环的剩余代码直接进入下一次循环的条件判断。for (let i 1; i 5; i) { if (i 3) continue; // 跳过i3的循环 console.log(i); // 输出1 2 4 5 }三、补充数组的迭代方法forEach虽然Array.prototype.forEach()不是传统的循环语句但它是数组专用的迭代方法本质上也是循环的一种形式const arr [1, 2, 3]; arr.forEach((item, index) { console.log(索引${index}${item}); });注意forEach无法通过break/continue中断除非抛出异常不支持return返回值始终返回undefined适合简单的数组遍历复杂场景推荐for...of。四、循环语句的选型指南场景推荐循环已知循环次数如固定长度数组for循环未知循环次数先判断条件while循环必须执行一次的循环do...while循环遍历对象的属性需过滤原型链for...in配合hasOwnProperty遍历数组、字符串、Set/Map等值for...of循环简单数组遍历无需中断forEach四、循环优化与注意事项避免无限循环确保while/do...while/for的条件能最终变为falsefor...in/for...of需确认迭代对象可终止减少重复计算遍历数组时将arr.length缓存到变量尤其大数据量javascript运行// 优化前 for (let i 0; i arr.length; i) {} // 优化后 const len arr.length; for (let i 0; i len; i) {}及时中断循环使用break终止整个循环、continue跳过当前次循环减少无效执行避免遍历原型链for...in遍历对象时务必用hasOwnProperty过滤原型属性性能优先级原生for循环性能略高于for...offor...in性能最差需遍历原型链但日常开发中for...of的可读性更重要除非处理超大数据量。五、总结JavaScript 的循环语句从基础的for/while到 ES6 的for...of再到异步的for await...of覆盖了同步 / 异步、已知 / 未知次数、对象 / 数组等所有遍历场景。核心原则是根据遍历目标对象 / 数组 / 异步数据和场景次数已知 / 未知、是否必执行一次选择最合适的循环同时兼顾代码可读性和性能。六、总结JavaScript的循环语句各有侧重for循环胜在灵活可控是基础中的基础while/do...while适合条件驱动的循环for...in专用于对象属性遍历需注意原型链for...of是现代迭代的首选简洁且安全。在实际开发中需根据场景选择合适的循环遍历数组优先用for...of遍历对象用for...in固定次数用for循环条件循环用while。同时合理使用break/continue控制循环流程避免无限循环和性能问题。掌握这些循环的核心用法能让你的代码更高效、更易维护。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站如何做映射江苏搜索引擎优化公司

还在为Blender中导入网格序列而烦恼吗?🤔 Stop-motion-OBJ插件让这一切变得简单!这个强大的工具能帮你轻松导入OBJ、STL、PLY等格式的网格文件,将它们转化为流畅的3D动画。无论你是新手还是专业人士,这份指南都将带你快…

张小明 2026/1/17 17:00:04 网站建设

什么网站百度的收录高php网站制作实例教程

学霸同款10个AI论文平台,专科生轻松搞定毕业论文! AI 工具让论文写作不再难 对于专科生来说,毕业论文可能是大学生活中最令人头疼的一关。从选题、查资料到撰写、降重,每一个环节都可能让人感到无从下手。而如今,随着 …

张小明 2026/1/17 17:00:05 网站建设

win2008 iis 新建网站网站前期准备

第一章:物流网络时效性的战略价值在现代供应链体系中,物流网络的时效性已不再仅仅是运营效率的体现,更成为企业核心竞争力的重要组成部分。快速、可靠的交付能力直接影响客户满意度、库存周转率以及市场响应速度,进而决定企业在激…

张小明 2026/1/17 17:00:06 网站建设

建设电子商务网站目的服务器 网站打开慢

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作具体实现截图 本系统(程序源码数据库调试部署讲解)同时还支持java、ThinkPHP、Node.js、Spring B…

张小明 2026/1/17 17:00:05 网站建设

小说网站做兼职软件商城安装

Docker Machine 深入解析 引言 Docker Machine 是 Docker 官方提供的一个工具,用于简化 Docker 容器的部署和管理工作。它可以帮助用户在本地计算机、虚拟机或者云服务提供商上创建和管理 Docker 主机。本文将深入解析 Docker Machine 的概念、安装、配置和使用,以帮助读者…

张小明 2026/1/19 17:35:51 网站建设

做网站用哪个编程语言企业文化建设网站

YOLOFuse 与 ByteTrack:构建全天候多目标跟踪系统的实践探索 在智能安防、无人系统和交通监控日益依赖视觉感知的今天,一个核心挑战始终存在:如何在夜间、烟雾、遮挡等复杂环境下保持稳定的目标检测与连续追踪?传统的单模态方案往…

张小明 2026/1/17 17:00:09 网站建设