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

JavaScript中的for循环你用对了吗?

​🌈个人主页:前端青山
🔥系列专栏:JavaScript篇
🔖人终将被年少不可得之物困其一生

依旧青山,本期给大家带来JavaScript篇专栏内容:JavaScript-for循环

目录

循环结构

循环思想(三要素)

实现循环的语句

当型循环

直到型循环

多功能循环

案例

输出10个HelloWorld

输出1~100的奇数

输出m~n的整数

i. 求5!(阶乘:从1 乘到它本身)

解决猴子吃桃的问题(有一只猴子,还有一堆桃子,第一天的时候,吃了一堆桃子中的一半,没忍住,又多吃了一个;第二天的时候,又吃了剩下桃子中的一半,没忍住,又多吃了一个,以后每天如此,直到第10天的时候,只剩下了一个桃子,问第一天的时候有多少个桃子)

求1+2+3+……+100的和

输出1-100中(7的倍数和带7的数除外)的数。

输出m至n的自然数中的偶数和与奇数和并统计偶数与奇数的个数分别是多少?

入职薪水10K,每年涨幅5%,50年后工资多少?

流程控制关键字

循环的区别

      while:

   do while:

    for

循环结构

循环结构 : 满足一定条件,重复执行一个动作或一段代码。

循环思想(三要素)

  1. 从哪里开始

  2. 到哪里结束

  3. 步长(步进)

实现循环的语句

  1. while

  2. do while

  3. for

当型循环

循环初值;
while(循环条件){语句组;步长;
}

直到型循环

循环初值;
do{语句组;步长;
}while(循环条件);

多功能循环

for(循环初值;循环条件;步长){语句组;
}

案例

  • 输出10个HelloWorld
<script>输出10个HelloWorld输出:  alert()  document.write()  console.log()10个:重复 循环  三要素:i = 1;  i < 11   i ++循环语法:whiledo whilefor//while//循环初值var i = 1;while(i < 11){console.log('HelloWorld');i ++;// i += 2;}//do whilevar j = 1;do{console.log('HelloWorld');j ++;}while(j < 11);//forfor(var k = 1;k < 11;k ++){console.log('HelloWorld');}</script>
  • 输出1~100的奇数
 <script>输出1~100的奇数输出: alert() document.write() console.log()1~100 : 重复  循环  三要素: i = 1   i < 101   i ++   (i += 2)奇数: 不能被2整除  一个条件  一个结果  单分支 if(){}whilevar i = 1;//准备一个变量,存放结果var str = '';while(i < 101){if(i % 2){// document.write(i + ' ');  //满足一次条件,就和页面交互一次//优化后的语句str += i + ' ';  //'' + 1  str = '1' + 3}i ++;}将str 一次性添加到页面中document.write(str);console.log(str);alert(str);var i = 1,str = '';do{str += i + ' ';i += 2;}while(i < 101);document.write(str);var i = 1,str = '';do{if(i % 2){str += i + ' ';}i ++;}while(i < 101);document.write(str);document.write('<br>');for(var i = 1,str = '';i < 101;i += 2){str += i + ',';}document.write(str);</script>
  • 输出m~n的整数
 <script>输出m~n的整数输出m~n  prompt() parseInt()if(m < n){如果m = 1,n = 5   重复-循环-三要素  i = m; i <= n;i ++}else{如果m = 5,n = 1   重复-循环-三要素  i = m; i >= n;i --}//1. 准备两个变量var m = parseInt(prompt('请输入一个整数:'));var n = parseInt(prompt('请输入一个整数:'));//2. 判断谁大谁小if(m < n){for(var i = m,str = '';i <= n;i ++){str += i + ' ';}//输出结果document.write(str);}else{for(var i = m,str = '';i >= n;i --){str += i + ' ';}//输出结果document.write(str);}</script>
  • i. 求5!(阶乘:从1 乘到它本身)
   <script>
求5!(阶乘:从1 乘到它本身)  1 * 2 * 3 * 4 * 5
1. 重复乘法的操作,所以使用循环   三要素 : i = 1   i < 6   i ++for(var i = 1,fac = 1;i < 6;i ++){fac *= i; //fac = 1 * 1 * 2 * 3 * 4 * 5}alert(fac);</script>
  • 解决猴子吃桃的问题(有一只猴子,还有一堆桃子,第一天的时候,吃了一堆桃子中的一半,没忍住,又多吃了一个;第二天的时候,又吃了剩下桃子中的一半,没忍住,又多吃了一个,以后每天如此,直到第10天的时候,只剩下了一个桃子,问第一天的时候有多少个桃子)
    <script>解决猴子吃桃的问题(有一只猴子,还有一堆桃子,第一天的时候,吃了一堆桃子中的一半,没忍住,又多吃了一个;第二天的时候,又吃了剩下桃子中的一半,没忍住,又多吃了一个,以后每天如此,直到第10天的时候,只剩下了一个桃子,问第一天的时候有多少个桃子)1. 第10天: 1     sum = 12. 每天是怎么吃的?  第9天:  (sum + 1) * 2   43.                    8      (4 + 1) * 2   107  6  5 4 3 2 1 天重复天数, 循环   i = 9  i > 0  i --for(var day = 9,sum = 1;day > 0;day --){sum = (sum + 1) * 2}alert(sum);</script>
  • 求1+2+3+……+100的和
    <script>求1+2+3+……+100的和重复 +  循环  三要素  i = 1  i < 101  i ++for(var i = 1,sum = 0;i < 5;i ++){sum += i;}alert(sum);</script>
  • 输出1-100中(7的倍数和带7的数除外)的数。
    <script>输出1-100中(7的倍数和带7的数除外)的数。1-100 : 循环   i = 1; i < 101  i ++7的倍数和带7的数除外:!(i % 7 === 0 || parseInt(i / 10) === 7 || i % 10 === 7)i % 7 && parseInt(i / 10) !== 7 && i % 10 !== 7//result : 结果for(var i = 1,result = '';i < 101;i ++){if(!(i % 7 === 0 || parseInt(i / 10) === 7 || i % 10 === 7)){result += i + ' ';}}document.write(result);</script>
  • 输出m至n的自然数中的偶数和与奇数和并统计偶数与奇数的个数分别是多少?
  <script>输出m至n的自然数中的偶数和与奇数和并统计偶数与奇数的个数分别是多少?1. m 至 n  用户输入两个数2. 确保 m < nif(m > n){交换两个值}3. 实现循环三要素: i = m; i <= n; i ++4. 是否能被2整除  奇数   偶数   双分支偶数和奇数和偶数的数量奇数的数量//1. 准备两个变量var m = parseInt(prompt('请输入一个整数:'));var n = parseInt(prompt('请输入一个整数:'));//1.1 准备放置结果的变量// even : 偶数// sum : 和// odd : 奇数//count: 统计var even_sum = 0;var odd_sum = 0;var even_count = 0;var odd_count = 0;//2. 确保m < nif(m > n){var t = m;m = n;n = t;}//3. 实现循环for(var i = m;i <= n;i ++){//4. 判断奇偶if(i % 2){//true : 奇数odd_sum += i;odd_count ++;}else{//false : 偶数even_sum += i;even_count ++;}}//5. 输出结果console.log('偶数和:' + even_sum + '\n奇数和:' + odd_sum + '\n偶数数量:' + even_count + '\n奇数数量:' + odd_count);</script>
  • 入职薪水10K,每年涨幅5%,50年后工资多少?
    <script>入职薪水10K,每年涨幅5%,50年后工资多少?初值: sum = 10i = 2     i < 51  i ++sum = sum + sum * 0.05   sum += sum * 0.05for(var sum = 10,i  = 2;i < 51;i ++){sum += sum * 0.05;}alert(sum);</script>

流程控制关键字

  1. continue : 跳出本次循环,直接进入一下次循环。

  2. break : 跳出循环。

  <script>for(var i = 1;i < 6;i ++){// if(i == 2 || i == 4){//     continue;  //当i = 2 或 i = 4 的时候,直接跑到下一次循环// }if(i !== 2 && i !== 4){//console.log() : 每输出一次,自动换一行console.log(i); //  1  3  5}}//break : 退出循环for(var i = 1;i < 6;i ++){if(i === 3){break;} }//上面的循环结束后,才能执行到下面的语句,那么 什么时候结束的?3console.log(i); //3</script>

循环的区别

      while:
  •   1. 当型循环,先判断条件,后执行语句
  •   2. 当条件第一次为假时,一次也不执行。
  •   3. 常用于循环次数不确定时
   do while:
  •   1. 直到型循环,先执行语句,后判断条件
  •   2. 当 条件第一次为假时,至少执行一次循环
  •   3. 常用于循环次数不确定时
    for
  •   1. 多功能循环(当型循环),先判断条件,后执行语句
  •   2. 当条件第一次为假时,一次也不执行
  •   3. 常用于循环次数确定时

相关文章:

JavaScript中的for循环你用对了吗?

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;JavaScript篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来JavaScript篇专栏内容:JavaScript-for循环 目录 循环结构 循环思想&#xff08;三要素&#xff09; 实现…...

WordPress(10)解决中文连接问题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、修改的前后二、自定义结构讲明三、修改方法前言 提示:这里可以添加本文要记录的大概内容: 1.中文连接如:http://www.lplovemm.love/2023/11/12/测试 2.这种连接在提交sitemap收录的时…...

2023年小美赛认证杯国际赛A题解题思路+数据分享版+部分代码

小美赛作为一个与美赛高度相似的比赛&#xff0c;通常作为很多队伍的美赛练手赛&#xff0c;本次也将尝试帮助大家对A题进行求解&#xff0c;希望能够对大家有所帮助。真实的选题人数评估预计明天进行公布 难度 B>DC>A 选题 A>B>D>C 问题A&#xff08;MCM&am…...

删除list中除最后一个之外所有的数据

1.你可以新建一个list List<Integer> listnew ArrayList<>();int i0;while (i<100){list.add(i);}List<Integer> subList list.subList(list.size()-1, list.size());System.out.println("原list大小--"list.size());System.out.println("…...

北京筑龙助力中粮集团采购供应链改革加速跑

11月6日&#xff0c;在第六届中国国际进口博览会&#xff08;简称“进博会”&#xff09;上&#xff0c;中粮集团与来自全球的供应商签约进口农产品&#xff0c;金额超百亿美元&#xff0c;签约额、进口量、进口来源地覆盖范围均创历史新高。 这只是中粮集团落实集中采购&…...

SpringBoot学习笔记-实现微服务:匹配系统(中)

笔记内容转载自 AcWing 的 SpringBoot 框架课讲义&#xff0c;课程链接&#xff1a;AcWing SpringBoot 框架课。 CONTENTS 1. 同步玩家位置1.1 游戏信息的记录1.2 实现多线程同步移动 2. 同步碰撞检测3. 实现游戏结束界面4. 持久化游戏状态4.1 创建数据库表4.2 保存游戏对局信息…...

【复杂网络建模】——基于代理的社会网络建模(Agent-Based Modeling,ABM)[Python实现]

目录 一、复杂网络建模方法 二、基于代理的社会网络建模实现及Python实现代码 一、复杂网络建模方法 复杂网络是一种由大量相互连接的元素(节点或顶点)组成的网络结构,这些连接通常是非常复杂和动态的。这些网络可以在各种领域中发现,包括社交网络、生物学系统、信息技术…...

RSA实现中弱密钥漏洞分析(Analyzing Weak Key Vulnerabilities in RSA Implementation)

点我完整下载&#xff1a;《RSA实现中弱密钥漏洞分析》本科毕业论文一万字.doc RSA实现中弱密钥漏洞分析 "Analyzing Weak Key Vulnerabilities in RSA Implementation" 目录 目录 2 摘要 3 关键词 4 第一章 引言 4 1.1 研究背景 4 1.2 研究目的 5 1.3 研究意义 6 第…...

【管理运筹学】背诵手册(六)| 图与网络分析(最大流问题,最小费用最大流问题)

六、图与网络分析 最大流问题 最大流问题的数学规划模型为&#xff1a; max ⁡ v f 12 f 13 { f 12 f 13 − f 57 − f 67 0 f 13 f 23 f 34 f 35 . . . 0 ≤ f i j ≤ c i j \max vf_{12}f_{13}\\ \begin{cases} f_{12}f_{13}-f_{57}-f_{67}0 \\ f_{13}f_{23}f_{34}f…...

C语言之结构体详解

C语言之结构体详解 文章目录 C语言之结构体详解1. 结构体类型的声明2. 结构体变量的创建和初始化3. 结构体的特殊声明4. 结构体的自引用结构体的自引用匿名结构体的自引用 5. 结构体内存对齐5.1 练习一5.2 练习三 6. 为什么存在内存对⻬? 1. 结构体类型的声明 struct tag {me…...

学习canvas

Canvas是一个基于像素的渲染引擎&#xff0c;它使用JavaScript API在画布上绘制图像。以下是它的一些优点和缺点&#xff1a; 优点&#xff1a; Canvas的渲染速度快&#xff0c;适合处理大量图像和高度动态的图像。 可以直接操作像素&#xff0c;从而能够创建出高质量、流畅的…...

浏览器的渲染原理

以下内容来源于渡一前端大师课&#xff0c;仅作个人学习记录。 渲染的第一步是 解析HTML 解析过程中遇到CSS解析CSS&#xff0c;遇到JS执行JS。为了提高解析效率&#xff0c;浏览器在开始解析之前&#xff0c;会启动一个预解析的线程&#xff0c;率先下载HTML中的外部CSS文件和…...

从 JSON 转 Java 实体的多种方法详解

将 JSON 数据转换为 Java 对象是现代应用程序开发中常见的任务。在 Java 中&#xff0c;有多种方法可以实现这一目标。本文将详细介绍几种常见的方法&#xff0c;以及它们的优缺点。 1. 手动映射&#xff08;Manual Mapping&#xff09; 手动映射是最基础的方法之一&#xff…...

数据库的多表查询(MYSQL)表表联立

根据以上三张表格&#xff0c;对三张表格进行不同的联立&#xff0c;查询并显示符合条件的内容。 1. 查出至少有一个员工的部门。显示部门编号、部门名称、部门位置、部门人数。 mysql> SELECT d.deptno AS 部门编号, d.dname as 部门名称, d.loc as 部门位置, COUNT(e.emp…...

P8650 [蓝桥杯 2017 省 A] 正则问题(dfs )

多重括号&#xff0c;利用回溯来对上一层括号中的内容进行反馈 实现&#xff1a; 若为 x 长度加一 若为 &#xff08; 进入递归计算 (计算相当于子表达式) 若为 &#xff09; 结束当前递归 若为 | …...

【ESP32】手势识别实现笔记:红外温度阵列 | 双三次插值 | 神经网络 | TensorFlow | ESP-DL

目录 一、开发环境搭建与新建工程模板1.1、开发环境搭建与卸载1.2、新建工程目录1.3、自定义组件 二、驱动移植与应用开发2.1、I2C驱动移植与AMG8833应用开发2.2、SPI驱动移植与LCD应用开发2.3、绘制温度云图2.4、启用PSRAM&#xff08;可选&#xff09;2.5、画面动静和距离检测…...

No matching version found for @babel/compat-data@^7.23.5 处理

npm ERR! notarget No matching version found for babel/compat-data^7.23.5 处理 报错信息 npm WARN ERESOLVE overriding peer dependency npm ERR! code ETARGET npm ERR! notarget No matching version found for babel/compat-data^7.23.5. npm ERR! notarget In most …...

手持机|三防智能手机_4寸/5寸/6寸安卓系统三防手机PDA手持终端方案

随着科技的不断发展&#xff0c;三防手持机作为一种多功能设备&#xff0c;正逐渐在各行业得到广泛应用。这款手持机采用高性能处理器&#xff0c;支持高精度北斗定位和工业本安防爆功能&#xff0c;并具备IP67级防水防尘性能和1.5米防跌落能力。因此&#xff0c;它在仓储管理、…...

蓝桥杯算法心得——仙界诅咒(dfs)

大家好&#xff0c;我是晴天学长&#xff0c;搜索型的dfs&#xff0c;差点开二维矩阵了&#xff0c;仔细一想&#xff0c;没那么夸张啊&#xff0c;哈哈哈&#xff0c;需要的小伙伴可以关注支持一下哦&#xff01;后续会继续更新的。&#x1f4aa;&#x1f4aa;&#x1f4aa; 1…...

List集合,遍历,数据结构

一.List常见的方法&#xff1a; 二. List集合的遍历方式 除了 迭代器遍历 增强for遍历 Lambda表达式遍历&#xff0c;还有自己独有的普通for遍历&#xff0c;列表迭代器遍历 1.迭代器遍历 2.增强for遍历 3.Lambda表达式遍历 4.普通for遍历 5.列表迭代器遍历 列表迭代器相对于…...

2的幂运算

2的幂 描述 : 给你一个整数 n&#xff0c;请你判断该整数是否是 2 的幂次方。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 如果存在一个整数 x 使得 n 2x &#xff0c;则认为 n 是 2 的幂次方。 题目 : LeetCode 231.2的幂 : 231. 2 的幂 分…...

优先队列经典例题leetcode思路代码详解

目录 leetcode215题.数组中的第k个最大元素 leetcode347题.前k个高频元素 leetcode295题.数据流的中位数 对优先队列感兴趣的朋友可以去看我上一篇文章。 优先队列基础讲解-CSDN博客 leetcode215题.数组中的第k个最大元素 215. 数组中的第K个最大元素 - 力扣&#xff08;…...

新型Python环境与依赖管理工具——pipenv

文章目录 pipenv介绍pipenv安装pipenv使用创建虚拟环境删除虚拟环境安装依赖查看包之间的依赖图卸载依赖在虚拟环境中执行命令shell环境下通过requirements.txt安装依赖导出requirements.txt文件查看虚拟环境的路径 pipenv介绍 pipenv可以看做是pip和virtualenv的组合体&#…...

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「内网穿透」

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…...

kendo-splitter动态分配分隔框大小

通过size方法&#xff0c;动态改变框大小&#xff0c;参考链接&#xff1a;https://docs.telerik.com/kendo-ui/api/javascript/ui/splitter/methods/size vue画面 <kendo-button type"primary" click"changePane">button</kendo-button><…...

网站提示不安全?

随着互联网的普及和发展&#xff0c;网络安全问题日益严重。黑客攻击、数据泄露、恶意软件等问题层出不穷&#xff0c;给企业和个人带来了巨大的损失。在这个背景下&#xff0c;确保网站安全显得尤为重要&#xff0c;而使用SSL证书是解决这些问题的有效措施。 什么是SSL证书&am…...

C# 泛型编译特性对性能的影响

C#作为一种强类型语言&#xff0c;具有丰富的泛型支持&#xff0c;允许开发者编写可以应对不同数据类型的通用代码。然而&#xff0c;在泛型编译时&#xff0c;针对结构和类作为泛型参数时&#xff0c;会对性能产生不同的影响。 泛型编译行为 在C#中&#xff0c;泛型编译行为取…...

11-30 JavaWeb

修改与删除操作 防止空指针异常 localhost:8080 -> 分页查询 修改流程&#xff1a;(先查后改(两个servlet)) 修改&#xff1a; 传用户id(用户id怎么得到 -> 循环一次得到一个user 对象 user对象里用user.getId()得到用户id) UpdateUserQueryServlet.java &#xff08;…...

LCR 047. 二叉树剪枝 和 leetCode 1110. 删点成林 + 递归 + 图解

给定一个二叉树 根节点 root &#xff0c;树的每个节点的值要么是 0&#xff0c;要么是 1。请剪除该二叉树中所有节点的值为 0 的子树。节点 node 的子树为 node 本身&#xff0c;以及所有 node 的后代。 示例 1: 输入: [1,null,0,0,1] 输出: [1,null,0,null,1] 解释: 只有红…...

Flutter笔记:路由观察者

Flutter系列 路由观察者 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/134572181 目 录 1. 概述2. 路由…...