前端---js(自学笔记8)(while循环)

本文介绍了JavaScript中的while和for循环,强调了while循环的先判断后执行以及do...while循环的先执行后判断的特点。同时,文章通过实例展示了while小练习的结果,并对for循环的执行流程和用法进行了详细解释,包括初始化、条件判断和更新表达式。此外,提到了for循环的特殊情况——省略表达式可能导致的死循环问题。

while循环:

循环语句是可以将一段代码循环执行。

while循环:首先对条件表达式进行判断,如果为true则执行代码块,然后再次进行判断,如果还是true,将再次执行,直到条件表达式为false,循环结束。 

语法:
while(条件表达式){
          语句...
}

do...while循环:首先执行一遍语句,在进行条件表达式的判断,如果为true则继续执行,如果为false,则执行完语句,终止循环。

语法:
do{
      语句...
}while(条件表达式)

while 和 do while 功能类似,不同之处,while是先判断在执行,do...while是先执行,后判断。如果条件表达式不满足时,do...while至少执行完毕了一次,而while则不执行。

while小练习:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>while 练习</title>
		<script type="text/javascript">
//			假如投资的年利率为5%,试求从1000块增长到5000块,需要花费多少年
			 var m =1000;
			 var count =0;
			 while(m<=5000){
			 	m *=1.05
			 	count++
			 }
			 alert("花费多少年:"+count)
		</script>
	</head>
	<body>
	</body>
</html>

 结果:

while和switch 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>if与while 练习题</title>
		 
		<!--输出小白成绩
		当成绩为100,'奖励一辆车模型'
		当成绩为[80-90],'奖励一台手机'
		当成绩为[60-80],'奖励一本书'
		其他时,'没有奖励'-->
		 
		<script type="text/javascript">
			while (true){
				var score =prompt("输入成绩(0-100):");
				if (0<score && score<100){
					break;
				}
                alert("请输入正确的值:")
			}
			
			if (score>100 || score<0 || isNaN(score)){
				alert('不属于范围之内')
			}else{
				if(score==100){
				alert('奖励一辆车模型')
			}else if(score>80 && score <=99){
				alert('奖励一台手机')	
			}else if(score>60 && score<= 80){
				alert('奖励一台手机')	
			}else{
				alert('没有奖励')
			}
			
			}
			
		</script>
	</head>
	<body>
	</body>
</html>

结果:

for循环:

for循环,为我们提供了位置专门放置三个表达式:1.初始化表达式,2.条件表达式,3.更新表达式

for循环语法
for(初始化表达式;条件表达式;更新表达式){
      语句...
}
for(a=0;a<10;a++){
alert(a);
}
对比while
1.初始化表达式
var a =0;
2.创建循环,定义条件表达式
while(a<10){
3.更新表达式
alert(a++)
}

for循环执行流程:

  1. 先执行初始化表达式,
  2. 再执行条件表达式
  3. 如果条件表达式true,则执行更新表达式,执行完毕后,如果还满足条件表达式,则在重复执行。直到不满足条件表达式为止。
  4. 如果条件表达式为false,则直接跳出循环。

for循环()里可以省略不写表达式,也可以写在外部表达式。如果for(;;)没有表达式,只有俩个分号,则为死循环,慎用。

 for练习题:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>for</title>
		<script type="text/javascript">
//			打印1-100之间所有7的倍数的个数及总和
			var sum = 0;
			var count=0;
			for(b=1;b<100;b++){
				if(b % 7 == 0){
					sum += b;
					count++;
				}
			}
			console.log(sum);
			console.log(count);
			
		</script>
	</head>
	<body>
	</body>
</html>

结果:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="{CHARSET}">
		<title>for循环</title>
		<script type="text/javascript">
			var sum =0;
		//	打印1-100之间的所有奇数之和
			for(a=1;a<100;a++){
				if (a%2 !=0){
					sum =sum +a
				}	
			}
			alert(sum);	
		</script>
	</head>
	<body>
	</body>
</html>

结果:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="{CHARSET}">
		<title>for循环</title>
		<script type="text/javascript">
//			水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身,
//			(例如:1^3+5^3+3^3 =153),请打印所有的水仙花数.
			for(a=100;a<1000;a++){
				//获取百位上的数字
					var bai =parseInt(a/100);
				//获取十位上的数字
				   var shi =parseInt((a-bai*100)/10);
				// 获取个位上的数字
				  var ge = a%10;
				if(bai*bai*bai +shi*shi*shi+ge*ge*ge==a){
					console.log(a);
				}
			}	
		</script>
	</head>
	<body>
	</body>
</html>
			

结果:

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值