Skip to content

流程控制语句

JS中的程序是从上到下一行一行执行的

通过流程控制语句可以控制程序执行流程,使程序可以根据一定的条件来选择执行

  • 语句的分类:

    1. 条件判断语句

    2. 条件分支语句

    3. 循环语句

条件判断语句:

  • 使用条件判断语句可以在执行某个语句之前进行判断, 果条件成立才会执行语句,条件不成立则语句不执行。

if语句

 语法一:
 		if(条件表达式){
 			语句...
 		}
 			
 		if语句在执行时,会先对条件表达式进行求值判断,
 		如果条件表达式的值为true,则执行if后的语句,
 		如果条件表达式的值为false,则不会执行if后的语句。
 			if语句只能控制紧随其后的那个语句,
 				如果希望if语句可以控制多条语句,
 				可以将这些语句统一放到代码块中
 			if语句后的代码块不是必须的,但是在开发中尽量写上代码块,即使if后只有一条语句
语法二:
 		if(条件表达式){
 			语句...
 		}else{
 			语句...
 		}
 
 	if...else...语句
 		当该语句执行时,会先对if后的条件表达式进行求值判断,
 			如果该值为true,则执行if后的语句
 			如果该值为false,则执行else后的语句
  	语法三:
  		if(条件表达式){
  			语句...
  		}else if(条件表达式){
  			语句...
  		}else if(条件表达式){
  			语句...
  		}else{
  			语句...
  		}
  
  		if...else if...else
  			当该语句执行时,会从上到下依次对条件表达式进行求值判断
  			如果值为true,则执行当前语句。
  			如果值为false,则继续向下判断。
  			如果所有的条件都不满足,则执行最后一个else后的语句
  			该语句中,只会有一个代码块被执行,一旦代码块执行了,则直接结束语句

if练习

练习1
html
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>if练习1</title>
		<script type="text/javascript">
			/*
			 * 	从键盘输入小明的期末成绩:
			 *	当成绩为100时,'奖励一辆BMW'
			 *	当成绩为[80-99]时,'奖励一台iphone15s'
			 *	当成绩为[60-80]时,'奖励一本参考书'
			 *	其他时,什么奖励也没有
			 */
			
			/*
			 * prompt()可以弹出一个提示框,该提示框中会带有一个文本框,
			 * 	用户可以在文本框中输入一段内容,该函数需要一个字符串作为参数,
			 * 	该字符串将会作为提示框的提示文字
			 * 
			 * 用户输入的内容将会作为函数的返回值返回,可以定义一个变量来接收该内容
			 */
			//score就是小明的期末成绩
			var score = prompt("请输入小明的期末成绩(0-100):");
			
			
			//判断值是否合法
			if(score > 100 || score < 0 || isNaN(score)){
				alert("拉出去毙了~~~");
			}else{
				//根据score的值来决定给小明什么奖励
				if(score == 100){
					//奖励一台宝马
					alert("宝马,拿去~~~");
				}else if(score >= 80){
					//奖励一个手机
					alert("手机,拿去玩~~~");
				}else if(score >= 60){
					//奖励一本参考书
					alert("参考书,拿去看~~~");
				}else{
					alert("棍子一根~~");
				}
			}
	
		</script>
	</head>
	<body>
		
	</body>
</html>
练习2
html
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>if练习2</title>
		<script type="text/javascript">
			/*
			 * 	大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件: 
			 *	高:180cm以上; 富:1000万以上; 帅:500以上;
			 *	如果这三个条件同时满足,则:'我一定要嫁给他'
			 *	如果三个条件有为真的情况,则:'嫁吧,比上不足,比下有余。' 
			 *	如果三个条件都不满足,则:'不嫁!' 
			 */
			
			var height = prompt("请输入你的身高(CM):");
			var money = prompt("请输入你的财富(万):");
			var face = prompt("请输入你的颜值(PX):");
			
			//如果这三个条件同时满足,则:'我一定要嫁给他'
			if(height > 180 && money > 1000 && face > 500){
				alert("我一定要嫁给他~~");
			}else if(height > 180 || money > 1000 || face > 500){
				//如果三个条件有为真的情况,则:'嫁吧,比上不足,比下有余。' 
				alert("嫁吧,比上不足,比下有余。");
			}else{
				//如果三个条件都不满足,则:'不嫁!' 
				alert("不嫁。");
			}

		</script>
	</head>
	<body>
		
	</body>
</html>
练习3:三个整数排序
html
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>if练习3</title>
		<script type="text/javascript">
			/*
			 * 	编写程序,由键盘输入三个整数分别存入变量num1、num2、num3,
			 * 	对他们进行排序,并且从小到大输出。
			 */
			
			//获取用户输入的三个数
			/*
			 * prompt()函数的返回值是String类型的
			 */
			var num1 = +prompt("请输入第一个数:");
			var num2 = +prompt("请输入第二个数:");
			var num3 = +prompt("请输入第三个数:");
			
			
			//找到三个数中最小的数
			if(num1 < num2 && num1 < num3){
				//num1最小,比较num2和num3
				if(num2 < num3){
					//num1 num2 num3
					alert(num1 +","+num2 + ","+num3);
				}else{
					//num1 num3 num2
					alert(num1 +","+num3 + ","+num2);
				}
				
			}else if(num2 < num1 && num2 < num3){
				//num2最小,比较num1和num3
				if(num1 < num3){
					//num2 num1 num3
					alert(num2 +","+num1 + ","+num3);
				}else{
					//num2 num3 num1
					alert(num2 +","+num3 + ","+num1);
				}
				
			}else{
				//num3最小,比较num1和num2
				if(num1 < num2){
					// num3 num1 num2
					alert(num3 +","+num1 + ","+num2);
				}else{
					//num3 num2 num1
					alert(num3 +","+num2 + ","+num1);
				}
				
			}
			
			
		</script>
	</head>
	<body>
		
	</body>
</html>