本文最后更新于 2025-01-10T22:20:33+08:00
                  
                  
                
              
            
            
              
                
                循环语句
while语句
通过循环语句可以反复的执行一段代码多次
1 2 3 4 5 6 7 8 9 10 11 12
   | while循环: 		  	- 语法: 		  		while(条件表达式){ 		  			语句... 		  		} 		   		  	- while语句在执行时, 		  		先对条件表达式进行求值判断, 		  			如果值为true,则执行循环体, 		  				循环体执行完毕以后,继续对表达式进行判断 		  				如果为true,则继续执行循环体,以此类推 		  			如果值为false,则终止循环
 
  | 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
   | do...while循环 		  	- 语法: 		  		do{ 		  			语句... 		  		}while(条件表达式) 		   		  	- 执行流程: 		  		do...while语句在执行时,会先执行循环体, 		  			循环体执行完毕以后,在对while后的条件表达式进行判断, 		  			如果结果为true,则继续执行循环体,执行完毕继续判断以此类推 		  			如果结果为false,则终止循环 		   		  		实际上这两个语句功能类似,不同的是while是先判断后执行, 		  			而do...while会先执行后判断, 		  		do...while可以保证循环体至少执行一次, 		  			而while不能
 
  | 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
   | 
 
                  while(true){                     alert(n++);
                                           if(n == 10){                                                  break;                     }                 }
 
 
 
 
 
  | 
 
while练习1
假如投资的年利率为5%,试求从1000块增长到5000块,需要花费多少年
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
   | <!DOCTYPE html> <html> 	<head> 		<meta charset="UTF-8"> 		<title></title> 		<script type="text/javascript"> 			 			
 
 
 
 
  			 			var money = 1000;		 			 			var count = 0;			 			 			while(money < 5000){ 				money *= 1.05;				 				 				count++; 			}			 			 			console.log("一共需要"+count+"年"); 		</script> 	</head> 	<body> 	</body> </html>
 
 
  | 
 
while练习2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
   | <!DOCTYPE html> <html> 	<head> 		<meta charset="utf-8" /> 		<title>if练习1</title> 		<script type="text/javascript"> 			
 
 
 
 
 
  			 			
 
 
 
 
 
  			 			while(true){ 				 				var score = prompt("请输入小明的期末成绩(0-100):"); 				 				if(score >= 0 && score <= 100){ 					 					break; 				} 				 				alert("请输入有效的分数!!!"); 			} 		 			 			if(score > 100 || score < 0 || isNaN(score)){ 				alert("拉出去毙了~~~"); 			}else{ 				 				if(score == 100){ 					 					alert("宝马,拿去~~~"); 				}else if(score >= 80){ 					 					alert("手机,拿去玩~~~"); 				}else if(score >= 60){ 					 					alert("参考书,拿去看~~~"); 				}else{ 					alert("棍子一根~~"); 				} 			} 	 		</script> 	</head> 	<body> 		 	</body> </html>
 
 
  | 
 
for循环
for语句,也是一个循环语句,也称为for循环、
1 2 3 4
   | 在for循环中,为我们提供了专门的位置用来放三个表达式:         1.初始化表达式         2.条件表达式         3.更新表达式
 
  | 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
   | for循环的语法:                 for(①初始化表达式;②条件表达式;④更新表达式){                     ③语句...                 }  for循环的执行流程:                  ①执行初始化表达式,初始化变量(初始化表达式只会执行一次)                  ②执行条件表达式,判断是否执行循环。                  如果为true,则执行循环③d                  如果为false,终止循环                  ④执行更新表达式,更新表达式执行完毕继续重复②                    for循环中的三个部分都可以省略,也可以写在外部  如果在for循环中不写任何的表达式,只写两个;  此时循环是一个死循环会一直执行下去,慎用                  for(;;){                      alert("hello");                  }
 
  | 
 
for循环的嵌套:
以99乘法表为例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
   | <!DOCTYPE html> <html> 	<head> 		<meta charset="UTF-8"> 		<title></title> 		<script type="text/javascript"> 			 			
 
 
 
 
 
 
 
 
  			 			for(var i=1 ; i<=9 ; i++ ){ 				 				for(var j=1 ; j<=i ; j++){ 					document.write("<span>"+j+"*"+i+"="+i*j+"</span>"); 				} 				 				 				document.write("<br />");			 			}	 		</script> 		<style type="text/css"> 		 			body{ 				width: 2000px; 			} 			 			span{ 				display: inline-block;//使式子对齐(通过设置span的宽度) 				width: 80px; 			}			 		</style> 	</head> 	<body> 	</body> </html>
 
 
  | 
 
break和continue关键字
break
break关键字可以用来退出switch或循环语句
不能在if语句中使用break和continue
1 2 3 4 5 6 7
   | for(var i=0 ; i<5 ; i++){ 	console.log(i); 	if(i == 2){ 		break; 	} 	 }
 
  | 
 
break关键字,会立即终止离他最近的那个循环语句
1 2 3 4 5 6 7 8 9 10 11 12
   | * 可以为循环语句创建一个label,来标识当前的循环(给循环指定名字) * label:循环语句 * 使用break语句时,可以在break后跟着一个label, * 	这样break将会结束指定的循环,而不是最近的             outer:             for(var i=0 ; i<5 ; i++){                 console.log("@外层循环"+i)                 for(var j=0 ; j<5; j++){                     break outer;                     console.log("内层循环:"+j);                 }             }
 
  | 
 
continue
 continue关键字可以用来跳过当次循环
同样continue也是默认只会对离他最近的循环循环起作用
for循环练习1:100以内奇数和
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
   | <!DOCTYPE html> <html> 	<head> 		<meta charset="UTF-8"> 		<title></title> 		<script type="text/javascript"> 			 			
 
  			 			 			 			 			 			for(var i=1 , sum=0 ; i<=100 ; i++){ 				 				 				 				if(i%2 != 0){ 					 					 					sum = sum+i; 				} 			} 			 			console.log("奇数之和为 : "+sum); 			 		</script> 	</head> 	<body> 	</body> </html>
 
  | 
 
for循环练习2:打印1-100之间所有7的倍数的个数及总和
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
   | <!DOCTYPE html> <html> 	<head> 		<meta charset="UTF-8"> 		<title></title> 		<script type="text/javascript">			 			
 
  			 			var sum = 0; 			 			var count = 0; 			 			 			for(var i=1 ; i<=100 ; i++){ 				 				 				if(i % 7 == 0){ 					 					sum += i; 					 					count++;				 				}			 			}			 			 			console.log("总和为:"+sum); 			 			console.log("总数量为:"+count);	 		</script> 	</head> 	<body> 	</body> </html>
 
  | 
 
for循环练习3:水仙花数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
   | <!DOCTYPE html> <html> 	<head> 		<meta charset="UTF-8"> 		<title></title> 		<script type="text/javascript"> 			 			/* 			 * 水仙花数是指一个3位数,它的每个位上的数字的3 次幂之和等于它本身。 				(例如:1^3 + 5^3 + 3^3 = 153),请打印所有的水仙花数。 			 */	 			//打印所有的三位数 			for(var i=100 ; i<1000 ; i++){ 				 				//获取i的百位 十位 个位的数字 				//获取百位数字 				var bai = parseInt(i/100);		 				//获取十位的数字 				var shi = parseInt((i-bai*100)/10);			 				//获取个位数字 				var ge = i % 10;	 				//判断i是否是水仙花数 				if(bai*bai*bai + shi*shi*shi + ge*ge*ge == i){ 					console.log(i); 				}	 			} 		</script> 	</head> 	<body> 	</body> </html>
 
  | 
 
for循环练习4:判断质数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
   | <!DOCTYPE html> <html> 	<head> 		<meta charset="UTF-8"> 		<title></title> 		<script type="text/javascript"> 			/* 			 * 在页面中接收一个用户输入的数字,并判断该数是否是质数。 				质数:只能被1和它自身整除的数,1不是质数也不是合数,质数必须是大于1的自然数。	 			 */ 			 			var num = prompt("请输入一个大于1的整数:"); 		 			//判断这个值是否合法 			if(num <= 1){ 				alert("该值不合法!"); 			}else{ 				 				//创建一个变量来保存当前的数的状态 				//默认当前num是质数 				var flag = true; 				 				//判断num是否是质数 				//获取2-num之间的数 				for(var i=2 ; i<num ; i++){ 					//console.log(i); 					//判断num是否能被i整除 					if(num % i == 0){ 						//如果num能被i整除,则说明num一定不是质数 						//设置flag为false 						flag = false; 					} 				}			 				//如果num是质数则输出 				if(flag){ 					alert(num + "是质数!!!"); 				}else{ 					alert("这个不是质数") 				}		 			} 		</script> 	</head> 	<body> 	</body> </html>
 
 
  |