热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaScriptfor循环全解

for循环语法结构for(初始化变量;条件表达式;操作表达式){循环体}初始化变量通常被用于初始化一个计数器,该表达式可以使用var关键字声明新的变量,这个




// for 循环语法结构
// for (初始化变量; 条件表达式; 操作表达式) {
// // 循环体
// }
// 初始化变量通常被用于初始化一个计数器,该表达式可以使用 var 关键字声明新的变量,
这个变量帮我们来记录次数。
// 条件表达式用于确定每一次循环是否能被执行。如果结果是 true 就继续循环,否则退出循环。
// 操作表达式是每次循环最后执行的代码 经常用于我们计数器变量进行更新(递增或者递减)
// 例子
// for (var i = 1; i <= 100; i++) {
// console.log('你好吗');
// }
//i : 迭代器 :iterator, 迭代也称之为循环
// 个人理解
// for (var i = 1; i <= 100; i++) {
// console.log('你好吗');//循环体
// // i 的理解: i称之为计数器
// // for循环是要循环多次,要确定循环几次,就需要有一个计数器
// // 循环一次,i就需要加1
// }
// /*1. 初始化:var i = 1
// 初始化变量,初始化只执行一次。 (如果执行多次,死循环)
// 2. 条件:i <= 100
// i的值一旦变化,就要判断 条件表达式:i <= 100 是否成立
// 3. 循环体
// 条件表达式一旦成立,就会执行循环体。 否则,不执行。
// 4. 操作表达式:i++
// 最后执行 操作表达式:i++,因为i如果不变化,那么永远为1,就为死循环了。
// 操作表达式执行完,i又变化了,所以再执行第二步。

// 1,2,3,4
// 2,3,4
// 2,3,4*/
// for循环可以重复相同的代码
// for (var i = 1; i <= 100; i++){
// console.log('啦啦啦啦啦啦啦啦啦啦啦啦啦');
// }
// // 用户输入次数
// var num = prompt('请输入次数');
// for(var i = 1 ; i <= num ;i++){
// alert('啦啦啦啦')
// }
// 求输出1到100岁
// var age = prompt('请输入名字');
// for(var i = 1; i <= 100; i++ ){
// console.log(age + '今年' + i + '岁了');
// }
// 求输出1到100岁,并提示出生、死亡
// var age = prompt('请输入名字');
// for (var i = 1; i <= 100; i++){
// if(i == 1){
// alert('你出生了')
// } else if (i == 100) {
// alert('你死了')
// } else{
// console.log(age + '今年' + i + '岁了');
// }
// }
// 总结
// for循环可以嵌套ifelse,ifelse也可以嵌套for循环。
// 例子
// 求1-100之间所有整数的累加和
// var sum = 0;
// // for(var i = 0 ;i <= 100; i++){
// // sum += i;
// // }
// // console.log(sum);
// for(var i = 100; i >= 0; i-- ){
// sum += i;
// }
// console.log(sum);
// 案例
// 1. 求1-100之间所有数的平均值 需要一个 sum 和的变量 还需要一个平均值 average 变量
// var sum = 0;
// var average ;
// for (var i = 0 ; i <= 100; i++) {
// sum += i ;
// average = sum / 100;
// }
// console.log(average);
// 2. 求1-100之间所有偶数和奇数的和 我们需要一个偶数的和变量 even 还需要一个奇数 odd
// var even = 0;
// var odd = 0;
// for (var i = 0 ; i <= 100; i++){
// if(i % 2 == 0) {
// even += i;
// } else{
// odd += i;
// }
// }
// console.log('偶数和' + even , '奇数和' + odd);
// 3. 求1-100之间所有能被3整除的数字的和
// var sum = 0;
// for (var i = 0; i <=100; i++){
// if(i % 3 == 0){
// sum += i;
// }
// }
// console.log(sum);
// 求学生成绩案例
// 弹出输入框输入总的班级人数(num)
// 依次输入学生的成绩( 保存起来 score), 此时我们需要用到
// for 循环, 弹出的次数跟班级总人数有关系 条件表达式 i <= num
// 进行业务处理: 计算成绩。 先求总成绩( sum), 之后求平均成绩( average)
// 弹出结果
// var num = parseInt(prompt('请输入班级的总人数'));
// var sum =0;
// var average =0;
// for (var i = 1 ; i <= num ; i++){
// var score = parseFloat(prompt('请输入你的第' + i +'学生成绩'))
// sum += score;

// }
// average = sum / num;
// alert(sum);
// alert(average);
// 一行打印五颗星星案例
// var num = prompt('请输入星星的个数')
// var str = ''; //声明一字符串变量
// for (var i =1 ; i <= num ; i++){ //循环一次打印一个五角星
// str = str + '★'
// }
// alert(str);//弹出
// 双重 for 循环概述
// - 循环嵌套是指在一个循环语句中再定义一个循环语句的语法结构
// // - 例如在for循环语句中,可以再嵌套一个for 循环,这样的 for 循环语句我们称之为双重for循环。
// 双重 for 循环语法
// for (外循环的初始; 外循环的条件; 外循环的操作表达式) {
// 外层循环管行
// for (内循环的初始; 内循环的条件; 内循环的操作表达式) {
// 内层循环管列
// 需执行的代码;
// }
// }
// - 内层循环可以看做外层循环的语句
// - 内层循环执行的顺序也要遵循 for 循环的执行顺序
// - 外层循环执行一次,内层循环要执行全部次数***
// var str= '';
// var num = prompt('请输入你要打的星星')
// for (var i = 1 ; i <= num ; i++ ){
// //外层循环负责打印行
// for (var j = 1 ; j <= num ; j++){
// // 里层循环负责打印列
// str = str + '★'
// }
// // 如果一行打印完毕就要另起一行加\n
// str = str + '\n';
// }
// alert(str);
// - 核心逻辑:
// 1.内层循环负责一行打印五个星星
// 2.外层循环负责打印五行
// 注意:
// - 内层循环控制列,外层循环控制行
// - 外层循环与内层循环不能使用同一个计数器,一般外使用i,内使用j(程序员的习惯)
// - for 循环小结
// - for 循环可以重复执行某些相同代码
// - for 循环可以重复执行些许不同的代码,因为我们有计数器
// - for 循环可以重复执行某些操作,比如算术运算符加法操作
// - 随着需求增加,双重for循环可以做更多、更好看的效果
// - 双重 for 循环,外层循环一次,内层 for 循环全部执行
// - for 循环是循环条件和数字直接相关的循
// 打印倒三角形案例
// var str = '';
// for (var i = 1; i <= 5; i++ ){ //外层循环控制行数
// //对于内层循环的j 来说 ,i 是已知条件
// for (var j = 1; j <= 6-i;j++ ){
// str = str + '★'
// }
// str = str + '\n';
// }
// console.log(str);
// 九九乘法表
// 九九乘法表
// 一共有9行,但是每行的个数不一样,因此需要用到双重 for 循环
// 外层的 for 循环控制行数 i ,循环9次 ,可以打印 9 行
// 内层的 for 循环控制每行公式 j
// 核心算法:每一行 公式的个数正好和行数一致, j <= i;
// 每行打印完毕,都需要重新换一行
// var str = '';
// for (var i = 1; i <= 9; i++){
// for (var j = 1; j <= i; j++){
// str += j + 'x' + i + '=' + j * i + '\t';
// }
// str = str + ' \n';
// }
// console.log(str);
// 分析结论:
// 1. 列数等于行号:内层循环的条件:j<=i
// 2. 从第二行开始看: 第二个乘数 正好是行号 , 第一个乘数是列号


推荐阅读
  • 本文探讨了如何在Java/Javascript中建立防范CSRF攻击的机制。作者了解了CSRF的原理,并提供了前台和后台需要做的工作。同时,还介绍了一些比较好的例程供参考。 ... [详细]
  • 本文详细解析了JavaScript中相称性推断的知识点,包括严厉相称和宽松相称的区别,以及范例转换的规则。针对不同类型的范例值,如差别范例值、统一类的原始范例值和统一类的复合范例值,都给出了具体的比较方法。对于宽松相称的情况,也解释了原始范例值和对象之间的比较规则。通过本文的学习,读者可以更好地理解JavaScript中相称性推断的概念和应用。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 本文总结了Java中日期格式化的常用方法,并给出了示例代码。通过使用SimpleDateFormat类和jstl fmt标签库,可以实现日期的格式化和显示。在页面中添加相应的标签库引用后,可以使用不同的日期格式化样式来显示当前年份和月份。该文提供了详细的代码示例和说明。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 用友深耕烟草行业25年,提出数字化转型建议
    本文介绍了用友在烟草行业深耕25年的经验,提出了数字化转型的建议,包括总体要求、主要任务、发展阶段和六位一体推进举措。通过数字化转型,烟草行业将注入新动能,实现高质量发展。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
author-avatar
走丢的鞋带2702934823
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有