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. 常用于循环次数确定时

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

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

相关文章

汽车行驶不同工况数据

1、内容简介 略 28-可以交流、咨询、答疑 2、内容说明 汽车行驶不同工况数据 汽车行驶不同工况数据 ECE、EUDC、FTP75、NEDC、自定义 3、仿真分析 4、参考论文 略 链接&#xff1a;https://pan.baidu.com/s/1AAJ_SlHseYpa5HAwMJlk1w 提取码&#xff1a;rvol

[每周一更]-(第75期):Go相关粗浅的防破解方案

Go作为编译语言&#xff0c;天然存在跨平台的属性&#xff0c;我们在编译完成后&#xff0c;可以再不暴露源代码的情况下&#xff0c;运行在对应的平台中&#xff0c;但是 还是架不住有逆向工程师的反编译、反汇编的情形&#xff1b;&#xff08;当然我们写的都不希望被别人偷了…

docker-compose;私有镜像仓库harbor搭建;镜像推送到私有仓库harbor

docker-compose&#xff1b;私有镜像仓库harbor搭建&#xff1b;镜像推送到私有仓库harbor 文章目录 docker-compose&#xff1b;私有镜像仓库harbor搭建&#xff1b;镜像推送到私有仓库harbordocker-compose私有镜像仓库harbor搭建镜像推送到私有仓库harbor docker-compose D…

【代码】基于VMD(变分模态分解)-SSA(麻雀搜索算法优化)-LSTM的光伏功率预测模型(完美复现)matlab代码

程序名称&#xff1a;基于VMD&#xff08;变分模态分解&#xff09;-SSA&#xff08;麻雀搜索算法优化&#xff09;-LSTM的光伏功率预测模型 实现平台&#xff1a;matlab 代码简介&#xff1a;提出了变分模态分解(VMD)和麻雀搜索算法(SSA)与长短期记忆神经网络 (LSTM)相耦合,…

【趣味JavaScript】一文让你读懂JavaScript原型对象与原型链的继承,探秘属性的查找机制! 《重置版》

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;web开发者、设计师、技术分享博主 &#x1f40b; 希望大家多多支持一下, 我们一起学习和进步&#xff01;&#x1f604; &#x1f3c5; 如果文章对你有帮助的话&#xff0c;欢迎评论 &#x1f4ac;点赞&a…

校招笔试-Windows开发工程师客观题合集解析

360公司-2019校招笔试-Windows开发工程师客观题合集 API无法实现进程间数据的相互传递是PostMessage 2.以下代码执行后&#xff0c;it的数据为&#xff08;异常&#xff09; std::list<int> temp; std::list<int>::iterator it temp.begin(); it --it; 3.API…

多线程(初阶五:wait和notify)

目录 一、概念 二、用法 &#xff08;1&#xff09;举个栗子&#xff1a; &#xff08;2&#xff09;wait和notify的使用 1、没有上锁的wait 2、当一个线程被wait&#xff0c;但没有其他线程notify来释放这个wait 3、两个线程&#xff0c;有一个线程wait&#xff0c;有一…

docker安装nacos,实现和mysql容器的通信

1.下载nacos镜像 docker pull nacos/nacos-server2. 启动nacos 启动命令如下&#xff1a; docker run -d -p 8848:8848 --name nacos \ -e JVM_XMS256m \ -e JVM_XMX256m \ -e MODEstandalone \ -e SPRING_DATASOURCE_PLATFORMmysql \ -e MYSQL_SERVICE_HOST192.168.131.223…

C++模板—函数模板、类模板

目录 一、函数模板 1、概念 2、格式 3、实例化 4、模板参数的匹配 二、类模板 1、定义格式 2、实例化 交换两个变量的值&#xff0c;针对不同类型&#xff0c;我们可以使用函数重载实现。 void Swap(double& left, double& right) {double tmp left;left ri…

AI为基,快手新商业图景浮现

监制 | 何玺 排版 | 叶媛 快手新商业图景浮现&#xff01; 11月21日&#xff0c;快手发布了2023年Q3财报。该季度内&#xff0c;快手以超2成营收增长的亮眼业绩&#xff0c;展示出强大的经营韧性。同时其在付费短剧、AI应用等业务上的拓展&#xff0c;则让行业和资本市场看到…

unity学习笔记13

一、常用物理关节 Unity中的物理关节&#xff08;Physics Joints&#xff09;是用于在游戏中模拟和控制物体之间的连接。物理关节允许你在对象之间应用各种约束&#xff0c;例如旋转、移动或固定连接&#xff0c;以模拟真实世界中的物理交互。 物理关节类型&#xff1a; 1.F…

Ubuntu新手使用教程

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

JavaScript类型判断:解密变量真实身份的神奇技巧

文章目录 1. typeof运算符2. instanceof运算符3. Object.prototype.toString4. Array.isArray5. 使用constructor属性6. 使用Symbol.toStringTag7. 使用is类型判断库8. 谨慎使用隐式类型转换结语 &#x1f389;JavaScript类型判断&#xff1a;解密变量真实身份的神奇技巧 ☆* o…

LeetCode105.从前序和中序遍历序列构造二叉树

这道题看完题想了几分钟就想到大概的思路了&#xff0c;但是在写的时候有很多细节没注意出了很多问题&#xff0c;然后写了1个多小时&#xff0c;其实这道题挺简单的。 首先&#xff0c;最基本的知识&#xff0c;先序遍历是根左右&#xff0c;中序遍历是左根右&#xff0c;那么…

Unittest(1):unittest单元测试框架简介setup前置初始化和teardown后置操作

unittest单元测试框架简介 unittest是python内置的单元测试框架&#xff0c;具备编写用例、组 织用例、执行用例、功能&#xff0c;可以结合selenium进行UI自动化测 试&#xff0c;也可以结合appium、requests等模块做其它自动化测试 官方文档&#xff1a;https://docs.pytho…

【ChatGLM3-6B】Docker下部署及微调

【ChatGLM2-6B】小白入门及Docker下部署 注意&#xff1a;Docker基于镜像中网盘上上传的有已经做好的镜像&#xff0c;想要便捷使用的可以直接从Docker基于镜像安装看Docker从0安装前提下载启动访问 Docker基于镜像安装容器打包操作&#xff08;生成镜像时使用的命令&#xff0…

C++11线程以及线程同步

C11中提供的线程类std::thread,基于此类创建一个新的线程相对简单&#xff0c;只需要提供线程函数和线程对象即可 一.命名空间 this_thread C11 添加一个关于线程的命名空间std::this_pthread ,此命名空间中提供四个公共的成员函数&#xff1b; 1.1 get_id() 调用命名空间s…

电商营销场景的RocketMQ实战01-RocketMQ原理

架构图 Broker主从架构与集群模式 RocketMQ原理深入剖析 Broker主从架构原理 HAConnection与HAClient Broker基于raft协议的主从架构 Consumer运行原理 基础知识 001_RocketMQ架构设计与运行流程分析 RocketMQ这一块&#xff0c;非常关键的一个重要的技术&#xff0c;面试的时候…

键盘打字盲打练习系列之指法练习——2

一.欢迎来到我的酒馆 盲打&#xff0c;指法练习&#xff01; 目录 一.欢迎来到我的酒馆二.开始练习 二.开始练习 前面一个章节简单地介绍了基准键位、字母键位和数字符号键位指法&#xff0c;在这个章节详细介绍指法。有了前面的章节的基础练习&#xff0c;相信大家对盲打也有了…

设计模式-结构型模式之适配器设计模式

文章目录 一、结构型设计模式二、适配器模式 一、结构型设计模式 这篇文章我们来讲解下结构型设计模式&#xff0c;结构型设计模式&#xff0c;主要处理类或对象的组合关系&#xff0c;为如何设计类以形成更大的结构提供指南。 结构型设计模式包括&#xff1a;适配器模式&…