JavaScript流程控制-循环结构

for 循环

        循环的主要目的:可以重复执行某些代码或者语句,for循环  重复执行某些代码,通常跟计数有关系。
         for 语法结构:
            for(初始化变量;条件表达式;操作表达式){
                 循环体
            }

            初始化变量:就是var声明的一个普通变量,通常用于作为计数器使用
            条件表达式:就是用来决定每一次循环是否继续执行,就是终止的条件
            操作表达式  是每一次循环执行的代码,经常用于我们计数器变量进行更新(递增或者递减)后置自增多次使用。

// 我们重复打印100句你好
			for(var i =1 ; i<=100 ; i++){
				document.write('你好');
				console.log('你好');
			}

循环执行的过程:

1.首先执行里面的计数器变量,但是这句话在for里面只执行一次 
2.去i<=100来判断是否满足条件,如果满足条件,就去执行循环体,不满足条件就退出循环
3.最后执行i++  i++是单独写的代码,他是递增  第一轮结束
4.接着去执行i<=100  如果满足条件,就去执行循环体,不满足条件就退出循环,依次类推
5.当i=101 时,不满足i<=100,跳出循环,循环结束。

我们想要查看代码的运行过程可以通过断点调试来进行查看: 

        断点调试:可以查看循环的运行顺序。在浏览器中点击源代码,点击进入下一个函数调用,可以查看程序的运行或者点击右侧的在右侧Watch ,里面输入i,可以查看循环的变化。

       

         以下是for循环的一点小例子(以下代码都可以运行,由于第二个打印过多,我只截图了第一个和第三个程序结果。

// 我们可以让用户控制输出的次数,可以执行相同的代码。
			var num=prompt('请用户输入次数')
			for (var i=1 ;i<=num; i++){
				console.log('坚哥无敌')
			}

// 我们要输出1个人1~100岁
			for(var i=1 ; i<=100 ; i++){
				console.log('这个人今年'+i+'岁')
			}
			
			for(var i=1; i<=100 ; i++){
				if(i==1){
					console.log('他出生了')
				}else if(i==100){
					console.log('他死了')
				}else{
					console.log('这个人今年'+i+'岁')
				}
			}
// 课堂案例:求1-100之间所有整数的累加和
			var sum=0;
			for(var i=1;i<=100;i++){
				sum=sum+i;
				// sum+=i;
			}
			console.log('整数和为'+sum)

 for循环的案例,仅供大家参考:

// 1.求1-100之间所有数的平均值  需要一个sum 和的变量  和一个average 平均值的变量
			var sum=0;
			var aversge=0;
			for(var i=1;i<=100;i++){
				sum=sum+i;
			 	// sum+=i;
			}
			average=sum/100
			console.log(average)

// 4.求学生成绩,弹出输入框,用户输入班级人数,然后弹出几个输入框输入分数,然后算出总分和平均分
			var num=prompt('请输入班级的总人数');
			// num是班级总的人数
			var sum=0;
			// 求和的变量
			var average=0;
			// 求平均值的变量
			for (var i=1;i<=num;i++){
				var score=prompt('请输入第'+i+'个学生成绩');
				// prompt取过来的数值是字符串类型的,需要转化为数值型
				sum=sum+parseFloat(score);
			}
			average=sum/num;
			alert('班级的总分谁'+sum);
			alert('班级的平均分'+average);

双重for循环

        双重for循环(循环的嵌套使用),嵌套循环是指在一个循环语句中再定义一个循环语句的语法结构。

语法结构:
            for(外层的初始化变量;外层的条件表达式;外层的操作表达式){
                for(里层的初始化变量;里层的条件表达式;里层的操作表达式){
                    执行语句
                }
            }

for (var i =1;i<=3;i++){
				console.log('这是外层的循环第'+i+'次');
					for (var j=1;j<=3;j++){
						console.log('这是里层的循环第'+j+'次');
					}
			}

         循环执行过程:外面执行一次,里面全部执行,然后外面执行第二次,里面还是全部执行。依次类推,外层跳出循环,内层也就不执行循环

双重for循环的小例子,仅供参考:

// 打印五行五列的星星
			var str = '';
			for(var i=1;i<=5; i++){
				// 外层循环负责打印五行
				for(var j=1;j<=5; j++){
					str=str+'⭐';
				}
				// 如果一行打印完毕五个⭐就要重新启动一行   加\n
				str=str+'\n';
			}
			console.log(str);

// 打印n行n列的星星
			var rows=prompt('请你输入行数:');
			var cols=prompt('请你输入列数:');
			var str = '';
			for(var i=1;i<=rows; i++){
				// 外层循环负责打印用户输入的行数
				for(var j=1;j<=cols; j++){
					// 内层循环负责打印用户输入的列数
					str=str+'⭐';
				}
				// 如果一行打印完毕五个⭐就要重新启动一行   加\n
				// str=str+'\n';
				str += '\n'
			}
			console.log(str);

 双重for循环的案例:

// 打印九九乘法表
			// 行数和列数相等,直接让  j<=i
			var str='';
			for(var i=1;i<=9;i++){
				// 外层循环控制的是行数
				for(var j=1;j<=i;j++){
					// 里层的循环控制每一行的个数
					str += j +'❌'+ i + '='+ i * j + '\t'+'\t'
				}
				str +='\n'
			}
			console.log(str);

 

// 打印倒三角的案例
			// 核心算法:里层循环:j=i ;j<=10;j++
			var str='';
			for(var i=1 ; i<=10 ; i++){
				for(var j=i ; j<=10 ; j++){
					// 里层循环的打印个数不一样,直接j=i
					str=str+'⭐'
				}
				str+='\n';
			}
			console.log(str);
			
			// 打印顺三角案例
			var str='';
			for(var i=1;i<=10;i++){
				// 外层循环控制的是行数
				for(var j=1;j<=i;j++){
					// 里层的循环控制每一行的个数
					str=str+'⭐'
				}
				str+='\n'
			}
			console.log(str);

 

 while 和 do while

while循环语法结构   
            
          
 while(条件表达式){
                // 循环体
            }

小案例:

            var num=1;
			while(num<=5){
				document.write('刘哥,牛哇');
				num++;
			}

// 1.打印人的一生,从1-100岁
			var i=1;
			while(i<=100){
				console.log('这个人今年'+i+'岁了');
				i++;
			}
			
			// 2.计算1-100之间所有整数的和
			var sum=0;
			var j=1;
			while(j<=100){
				sum+=j;
				j++
			}
			console.log(sum)

 (可以发给你心爱的朋友小试一下):

// 3.弹出一个提示框,你爱我吗?  如果输入我爱你,就提示结束,否则,一直询问。
			var message= prompt('你爱我吗?');
			while(message!=='我爱你'){
				message=prompt('你爱我吗?');
			}
			alert('我也爱你');

// do  while 循环结构
            do{
                // 循环体
            } while(条件表达式) 

小案例:

            var i =1;
			do{
				console.log('how are you');
				i++;
			} while (i<=100);

 

 // 1.打印人的一生,从1-100岁
			vari=1 ;
			do{
				console.log('这个人今年'+i+'岁了');
				i++;
			} while(i<=100);
			
			
			
			// 2.计算1-100之间所有整数的和
			var sum =0;
			var j= 1;
			do{
				sum+=j;
				j++
			} while(j<=100)
			console.log(sum);
			
			
			// 3.弹出一个提示框,你爱我吗?  如果输入我爱你,就提示结束,否则,一直询问。
			do{
				var message =prompt('你爱我吗?');
			}while (message !=='我爱你');
			alert('我也爱你');

        输出的结果和上面一样,这里就不在显示了。

 

continue关键字

跳过当前次的循环  继续执行剩余的次数循环

// 早上吃包子,跳过第三个
			for (var i = 1 ;i <= 5 ; i++){
				if(i == 3){
				continue;
				// 只要遇见 continue 就退出本次循环  直接跳到i++
				}
			console.log('我正在吃第'+i+'个包子');
			}

// 1.求1-100之间,除了能被7整除之外的整数和
			var sum = 0;
			for (var i = 1 ; i <= 100 ; i++){
				if(i % 7 == 0){
					continue;
				}
				sum+=i;
			}
			console.log(sum);

 break 关键字

退出整个循环,让循环直接结束

            for (var i = 1 ;i <= 5 ;i++){
				if(i == 3){
					break;
				}
				console.log('我正在吃第'+i+'个包子');
			}

           下一篇文章会对循环进行案例的补充,以及对新的知识点进行补充,希望大家可以共同学习,共同进步,加油,各位兄弟姐妹。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值