第三章 js循环 ②代码

导读:本篇文章讲解 第三章 js循环 ②代码,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1.使用while实现固定次数的循环(1-100奇偶)

代码如下:

<!DOCTYPE html >
<html>
	<head>
		<title> New Document </title>
		<meta charset="utf-8">
		<script type="text/javascript">
			//使用while实现固定次数的循环:
			//1.计数变量 2.条件判断 3.循环体 4.变量更新
			//定义计数变量
			/*
			var i=1;
			while(i<=10){
				//代码体
				document.write("第"+i+"次:我能学会js<br/>");
				//计数变量更新
				i++;
			}*/

			//输出1-100个数,求1-100数的和
			/*var i=1;
			var sum = 0;
			while(i<=100){
				document.write(i+"<br/>");
				//数据累加
				sum+=i;//sum = sum+i;
				i++;
			}
			document.write("1-100的和:"+sum);*/

			//扩展: 输出1-100的奇数和,偶数和
			/*var i=1;
			var oddSum = 0;
			var evenSum = 0;
			while(i<=100){
				document.write(i+"<br/>");
				if(i%2==0){
					evenSum+=i;
					
				}else{
					oddSum+=i;
				}
				i++;
			}
			document.write("1-100的偶数和:"+evenSum+" 奇数和:"+oddSum);*/
			//扩展: 输出1-100的3的倍数,5个一行排列
			var i=1;
			var count = 0;
			while(i<=100){
				if(i%3==0){
					document.write(i+" ");
					count++;
					if(count==5){
						document.write("<br/>");
						count=0;
					}
				}

				/*if(i%15==0){
					document.write("<br/>");
				}*/
				i++;
			}
		</script>
	</head>

	<body>

	</body>
</html>

运行结果如下:

在这里插入图片描述

2.使用while实现不固定次数的循环 (吃包子)

代码如下:

<!DOCTYPE html >
<html>
	<head>
		<title> New Document </title>
		<meta charset="utf-8">
		<script type="text/javascript">
			//使用while实现不固定次数的循环
			//需要通过特定条件结束
			//题目:完成学生吃包子业务,直到学生回答吃饱了,停止循环
			while(true){
			//循环体
			document.write("小明吃了一个包子!")

			var answer = prompt("小明,你吃饱了么?","");
			if(answer=="吃饱了"){
				//结束循环
				break;
			}
			}

			//扩展:统计小明一共吃了几个包子
		</script>
	</head>

	<body>

	</body>
</html>

运行结果如下:
在这里插入图片描述
在这里插入图片描述

3.do-while循环 while循环 (学js)

代码如下:

<!DOCTYPE html >
<html>
	<head>
		<title> New Document </title>
		<meta charset="utf-8">
		<script type="text/javascript">
			//do..while循环:先执行一次代码体再判断条件
			//while循环:先判断条件,再执行代码体
			//两个区别:当条件不成立的时候,while循环一次都不执行
			//        do..while会执行一次
			var i=11;

			/*while(i<=10){
				document.write("xxx");
				i++;
			}*/

			do{
				//代码体
				document.write("第"+i+"次,我能学会js<br/>");
				//变量更新
				i++;
			}while(i<=10);
		</script>
	</head>

	<body>

	</body>
</html>

运行结果如下:
在这里插入图片描述

4.for循环 (学js)

代码如下:

<!DOCTYPE html >
<html>
	<head>
		<title> New Document </title>
		<meta charset="utf-8">
		<script type="text/javascript">
			//for循环:主要用于执行有次数的循环
			//输出10次我能学会js
			/*for(var i=1;i<=10;i++){
				document.write("第"+i+"次,我能学会js<br/>");
			}*/

			//for死循环:空条件,条件永远成立
			//for(;;);

			//使用for循环写while的结构,输出10次语句
			var i=1;

			for(;i<=10;){

				document.write("第"+i+"次,我能学会js<br/>");

				i++;
			}

		</script>
	</head>

	<body>

	</body>
</html>

运行结果如下:
在这里插入图片描述

5. 分支 if单/双/多分支 while固定/不固定 for循环

代码如下:

<!DOCTYPE html >
<html>
	<head>
		<title> New Document </title>
		<meta charset="utf-8">
		<script type="text/javascript">
			//分支:
			//if分支:单分支(if) ,双分支(if..else),多分支(if..else if..else...)
			//switch分支: switch case break default
			//循环:
			//while:固定次数(1.计数变量 2.条件判断 3.循环体 4.变量更新),不固定次数
			//do..while: 与while类似,区别是条件不成立时,do..while至少执行一次
			//for: 主要用于固定次数循环
		</script>
	</head>

	<body>

	</body>
</html>

6.for~if-else if…else实现同时多次输入 (成绩等级)

代码如下:

<!DOCTYPE html >
<html>
	<head>
		<title> New Document </title>
		<meta charset="utf-8">
		<script type="text/javascript">
			/*var s1 = Number(prompt("请输入第1个学生的成绩",""));
			var s2 = Number(prompt("请输入第2个学生的成绩",""));
			var s3 = Number(prompt("请输入第3个学生的成绩",""));*/

			for(var i=1;i<=3;i++){
				var score = Number(prompt("请输入第"+i+"个学生的分数",""));
				//判断分数
				if(score>=90){
					document.write(score+":优秀<br/>")
				}else if(score>=80){
					document.write(score+":良好<br/>")
				}else if(score>=60){
					document.write(score+":中等<br/>")
				}else{
					document.write(score+":差<br/>")
				}
			}

			/*
			var i=1;
			while(i<=3){
				//document.write("第"+i+"次我能学会js<br/>");
				var score = Number(prompt("请输入第"+i+"个学生的分数",""));
				//判断分数
				if(score>=90){
					document.write(score+":优秀<br/>")
				}else if(score>=80){
					document.write(score+":良好<br/>")
				}else if(score>=60){
					document.write(score+":中等<br/>")
				}else{
					document.write(score+":差<br/>")
				}
				i++;
			}*/
		</script>
	</head>

	<body>

	</body>
</html>

运行结果如下:
在这里插入图片描述

7.for循环的使用 (1-100偶 1-10和 百钱百鸡 )

代码如下:

<!DOCTYPE html >
<html>
	<head>
		<title> New Document </title>
		<meta charset="utf-8">
		<script type="text/javascript">
			//1.倒序输出1-100的偶数
			//100,98,96,94
			/*for(var i=100;i>=1;i-=2){
				//if(i%2==0){
				//	document.write(i+"<br/>");
				//}
				document.write(i+"<br/>");
			}*/
			//2.计算1..10的和:55

			//3.求1-10的和的时候,当和大于20的时候,累加的那个i的值是几
			/*var sum = 0;
			for(var i=1;i<=10;i++){
				sum+=i;
				if(sum>20){
					document.write("和大于20时加的i是:"+i);
					break;
				}
			}*/
			//document.write("和:"+sum);

			var h = 0.0002;
			var count = 0;
			while(true){
				h*=2;
				count++;
				if(h>=8848){
					break;
				}
			}
			document.write(count);

			//百钱买百鸡
			//公鸡 2
			//母鸡 1
			//小鸡 0.5

			for(var i=1;i<=100;i++){
				for(var j=1;j<=100;j++){
				  for(var k=1;k<=100;k++){
					if(i+j+k==100 && i*2+j*1+k*0.5=100){
						
					}
				  }
				}
			}

		</script>
	</head>

	<body>

8.for循环的使用break continue(同时多成绩求平均数 )

代码如下:

<!DOCTYPE html >
<html>
	<head>
		<title> New Document </title>
		<meta charset="utf-8">
		<script type="text/javascript">
			//循环控制关键字:break,continue
			//break:在循环中遇到break关键字,循环直接中断
			//continue:在循环中,遇到continue关键字,会跳过continue后面的代码不执行,
			//         直接进入下次循环
			/*for(var i=1;i<=10;i++){
				document.write(i+"<br/>");
				if(i==5){
					//break;
					continue;
				}
			}*/
			//循环输入5个学生的分数,求分数和以及平均分
			//如果输入的分数有误,则结束输入并提示错误,并且不能输出总分和平均分
			//只有所有分数输入都正确,才输出总分和平均分
			/*
			var sum = 0;
			//定义标记变量,记录循环过程录入分数是否有错
			var flag = true; 
			for(var i=1;i<=5;i++){
				var score = Number(prompt("请输入第"+i+"个学生的分数",""));
				if(score<0 || score>100){
					flag=false;
					document.write("分数有误,无法计算<br/>");
					break;
				}
				sum+=score;
			}

			if(flag==true){
				document.write("总分:"+sum+" 平均分:"+(sum/5));
			}*/

			//输入5个人的分数,统计80分以上的比例,要求用continue实现
			var count = 0;
			for(var i=1;i<=5;i++){
				var score = Number(prompt("请输入第"+i+"个学生的分数",""));
				if(score<80){
					continue;
				}
				count++;
			}

			document.write((count/5)*100+"%");

		</script>
	</head>

	<body>

	</body>
</html>

运行结果如下:

在这里插入图片描述

9.嵌套循环 (年:1~12月)

代码如下:

<!DOCTYPE html >
<html>
	<head>
		<title> New Document </title>
		<meta charset="utf-8">
		<script type="text/javascript">
			//嵌套循环
			//输出2010-2022年,每一年的12个月
			//2010: 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
			//2011: 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
			//2012: 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
			//...
			//2022: 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
			for(var year=2010;year<=2022;year++){
				document.write(year+"年:");
				//循环输出12个月
				for(var mon=1;mon<=12;mon++){
					document.write(mon+"月 ");
				}
				document.write("<br/>");
			}

		</script>
	</head>

	<body>

	</body>
</html>

运行结果如下:
在这里插入图片描述

10.嵌套循环 (5行5列 直角三角形 9×9乘法表 )

代码如下:

<!DOCTYPE html >
<html>
	<head>
		<title> New Document </title>
		<meta charset="utf-8">
		<script type="text/javascript">
			/*
			5行5列
			*****
			*****
			*****
			*****
			*****
			*/
			//外层循环控制行数
			/*
			for(var i=1;i<=5;i++){
				//内存循环控制(列数)每行输出的内容
				for(var j=1;j<=5;j++){
					document.write("*");
				}
				document.write("<br>")
			}
			*/

			/*
			5行5列

			*      1   1
			**     2   2
			***    3   3
			****   4   4
			*****  5   5

			*/
			//外层控制行数
			/*for(var i=1;i<=5;i++){
				//内层控制列数
				for(var j=1;j<=i;j++){
					document.write("*");
				}
				document.write("<br/>");
			}*/

			for(var i=1;i<=9;i++){
				//内层控制列数
				for(var j=1;j<=i;j++){
					//使用span实现固定宽度
					document.write(i+"*"+j+"="+(i*j)+" ");
				}
				document.write("<br/>");
			}


		</script>
	</head>

	<body>

	</body>
</html>

运行结果如下:

在这里插入图片描述

1.数组的常规使用

<!DOCTYPE html >
<html>
	<head>
		<title> New Document </title>
		<meta charset="utf-8">
		<script type="text/javascript">
			//数据的定义方式
			//1.使用Array创建空数组
			var a1 = new Array();
			//输出数组长度
			//alert(a1.length);
			//2.使用Array创建长度为5的数组(输入单独的整数)
			var a2 = new Array(5);
			//alert(a2.length);
			//alert(a2[0]); //没有存储数据,结果是undefined
			//3.使用Array创建有初始值的数组
			var a3 = new Array("aaa","bbb",30,50);
			//alert(a3.length);
			//alert(a3[4]) //访问长度之外的空间元素,返回undefined

			//创建长度为1的,初始值是10的数组
			//var a4 = new Array("10");
			//alert(a4.length);

			//4.使用字面量"[]"创建空数组
			var a5 = [];
			//alert(a5.length);

			//5.使用字面量"[]"创建有初始值的数组
			var a6 = [10,20,30];
			//alert(a6.length);
		</script>
	</head>

	<body>

	</body>
</html>

运行结果如下:

2.数组的取值赋值 数组的遍历 (姓名)

代码如下:

<!DOCTYPE html >
<html>
	<head>
		<title> New Document </title>
		<meta charset="utf-8">
		<script type="text/javascript">
			/*
			//创建长度是5的数组,并输入分数,接着输出
			var ary = new Array(5);
			ary[0]=90;
			ary[1]=80;
			ary[2]=78;
			ary[3]=66;
			ary[4]=89;
			//越界设置数据,会动态扩展数组长度。没有设置值的元素都是undefined
			ary[10]=100;
			//输出数组元素
			document.write(ary[0]+"<br/>");
			document.write(ary[1]+"<br/>");
			document.write(ary[2]+"<br/>");
			document.write(ary[3]+"<br/>");
			document.write(ary[4]+"<br/>");
			document.write(ary[5]+"<br/>");
			document.write(ary[6]+"<br/>");
			document.write(ary[7]+"<br/>");
			document.write(ary[8]+"<br/>");
			document.write(ary[9]+"<br/>");
			document.write(ary[10]+"<br/>");
			document.write("长度:"+ary.length);
			*/

			//定义长度为5的数组,使用循环输入5个学生的姓名,并循环输出
			var nameAry = new Array(5);
			for(var i=0;i<5;i++){
				//输入姓名
				var n = prompt("请输入第"+(i+1)+"个学生的姓名:","");
				//将姓名存储对应的数组空间
				nameAry[i]=n;
			}
			//输出数组元素
			//document.write(nameAry);

			//遍历数组元素
			for(var i=0;i<5;i++){
				//依次输出数组中指定位置的元素内容
				document.write(nameAry[i]+"<br/>");
			}

		</script>
	</head>

	<body>

	</body>
</html>

运行结果如下:
在这里插入图片描述

3.删除数组元素 索引下标/for-each方式遍历数组

代码如下:

<!DOCTYPE html >
<html>
	<head>
		<title> New Document </title>
		<meta charset="utf-8">
		<script type="text/javascript">
		var myary = ["张三","李四","王五","赵六","孙琪"];

			//删除数组元素
			//myary.length=3;

			//console.log(typeof(myary));
			//console.log(myary);
			//1.使用索引下标方式遍历数组
			for(var i=0;i<myary.length;i++){
				document.write(i+" : "+myary[i]+"<br/>");
			}
			document.write("<hr/>");
			//2.使用for each方式遍历数组
			for(var i in myary){
				document.write(i+" :  "+myary[i]+"<br/>")
			}
		</script>
	</head>

	<body>

	</body>
</html>

运行结果如下:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/118171.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!