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