流程控制

一、代码块

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">	
			/*
			 *  程序是由一条一条语句构成的
			 * 	语句是按照自上向下的顺序一条一条执行的
			 * 	在JS中可以使用{}来为语句进行分组,
			 * 	同一个{}中的语句称为是一组语句,它们要么都执行,要么都不执行,一个{}中的语句我们也称为叫一个代码块
			 * 	在代码块的后边就不用再编写;了
			 * 
			 * 	JS中的代码块,只具有分组的的作用,没有其他的用途
			 * 	代码块里面的内容,在外部是完全可见的
			 */
			{
				var a = 10;	
				alert("hello");
				console.log("你好");
				document.write("语句");
			}		
			console.log("a = "+a);
		</script>
	</head>
	<body>
	</body>
</html>

二、流程控制语句

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">		
			/*
			 * 流程控制语句
			 * 	 JS中的程序是从上到下一行一行执行的
			 * 	 通过流程控制语句可以控制程序执行流程,使程序可以根据一定的条件来选择执行
			 *   语句的分类:
			 * 		1.条件判断语句
			 * 		2.条件分支语句
			 * 		3.循环语句
			 * 
			 * 
			 * 条件判断语句:
			 * 	 使用条件判断语句可以在执行某个语句之前进行判断,如果条件成立才会执行语句,条件不成立则语句不执行。
			 *  
			 *   if语句
			 * 	 语法一:
			 * 		if(条件表达式){
			 * 			语句...
			 * 		}
			 * 			
			 * 		if语句在执行时,会先对条件表达式进行求值判断,
			 * 		如果条件表达式的值为true,则执行if后的语句,
			 * 		如果条件表达式的值为false,则不会执行if后的语句。
			 * 		if语句只能控制紧随其后的那个语句,如果希望if语句可以控制多条语句,可以将这些语句统一放到代码块中
			 * 		if语句后的代码块不是必须的,但是在开发中尽量写上代码块,即使if后只有一条语句	
			 */
			var a = 25;
			if(a > 10 && a <= 20){
				alert("a大于10,并且 a小于等于20");
			}		
		</script>
	</head>
	<body>
	</body>
</html>

1、if语句

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">	
			/*
			 * if语句
			 * 	语法二:
			 * 		if(条件表达式){
			 * 			语句...
			 * 		}else{
			 * 			语句...
			 * 		}
			 * 
			 * 	if...else...语句
			 * 		当该语句执行时,会先对if后的条件表达式进行求值判断,
			 * 		如果该值为true,则执行if后的语句
			 * 		如果该值为false,则执行else后的语句
			 * 
			 * 	语法三:
			 * 		if(条件表达式){
			 * 			语句...
			 * 		}else if(条件表达式){
			 * 			语句...
			 * 		}else if(条件表达式){
			 * 			语句...
			 * 		}else{
			 * 			语句...
			 * 		}
			 * 
			 * 		if...else if...else
			 * 			当该语句执行时,会从上到下依次对条件表达式进行求值判断
			 * 			如果值为true,则执行当前语句。
			 * 			如果值为false,则继续向下判断。
			 * 			如果所有的条件都不满足,则执行最后一个else后的语句
			 * 			该语句中,只会有一个代码块被执行,一旦代码块执行了,则直接结束语句
			 */
			
			var age = 50;
			
			if(age >= 60){
				alert("你已经退休了~~");
			}else{
				alert("你还没退休~~~");
			}
			
			age = 200;
			
			if(age > 100){
				alert("活着挺没意思的~~");
			}else if(age > 80){
				alert("你也老大不小的了~~");	
			}else if(age > 60){
				alert("你也退休了~~");
			}else if(age > 30){
				alert("你已经中年了~~");
			}else if(age > 17){
				alert("你已经成年了");
			}else{
				alert("你还是个小孩子~~");
			}
			
			age = 90;
			
			if(age > 17 && age <= 30){
				alert("你已经成年了");
			}else if(age > 30 && age <= 60){
				alert("你已经中年了");
			}else if(age > 60 && age <= 80){
				alert("你已经退休了");
			}else{
				alert("你岁数挺大的了~~");
			}
		</script>
	</head>
	<body>
	</body>
</html>

2、练习

<!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("棍子一根~~");
				}
			}
			
			/*
			 * 	大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件: 
			 *	高: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("不嫁。");
			}
			
			/*
			 * 	编写程序,由键盘输入三个整数分别存入变量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>

3、switch语句

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
			 * 条件分支语句也叫switch语句
			 * 	语法:
			 * 		switch(条件表达式){
			 * 			case 表达式:
			 * 				语句...
			 * 				break;
			 *  		case 表达式:
			 * 				语句...
			 * 				break;
			 * 			default:
			 * 				语句...
			 * 				break;
			 * 		}
			 * 
			 * 	执行流程:
			 * 		switch...case..语句
			 * 		在执行时会依次将case后的表达式的值和switch后的条件表达式的值进行全等比较,
			 * 		如果比较结果为true,则从当前case处开始执行代码。
			 * 		当前case后的所有的代码都会执行,可以在case的后边跟着一个break关键字,
			 * 		这样可以确保只会执行当前case后的语句,而不会执行其他的case
			 * 		如果比较结果为false,则继续向下比较
			 * 		如果所有的比较结果都为false,则只执行default后的语句
			 * 
			 * 	switch语句和if语句的功能实际上有重复的,使用switch可以实现if的功能,
			 * 	同样使用if也可以实现switch的功能,所以使用时可以根据自己的习惯选择。
			 */
			
			//根据num的值,输出对应的中文	
			var num = 3;
			
			if(num == 1){
				console.log("壹");
			}else if(num == 2){
				console.log("贰");
			}else if(num == 3){
				console.log("叁");
			}
			
			num = 2;
			
			switch(num){
				case 1:
					console.log("壹");
					//使用break可以来退出switch语句
					break;
				case 2:
					console.log("贰");
					break;
				case 3:
					console.log("叁");
					break;
				default:
					console.log("非法数字~~");
					break;
			}		
		</script>
	</head>
	<body>
	</body>
</html>

4、switch练习一

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>switch练习1</title>
		<script type="text/javascript">
			/*
			 * 对于成绩大于60分的,输出'合格'。低于60分的,输出'不合格'
			 * 
			 * 6x  /  10 = 6
			 * 7x  /  10 = 7
			 * 8x  /  10 = 8
			 * 9x  /  10 = 9
			 * 100 /  10 = 10
			 */
			
			var score = 75;
			switch(parseInt(score/10)){
				case 10:
				case 9:
				case 8:
				case 7:
				case 6:
					console.log("合格");
					break;
				default:
					console.log("不合格");
					break;
			}
			
			switch(true){
				case score >= 60:
					console.log("合格");
					break;
				default:
					console.log("不合格");
					break;
			}
		</script>
	<body>
	</body>
</html>

5、switch练习二

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>switch练习2</title>
		<script type="text/javascript">
			/* 从键盘接收整数参数,如果该数为1-7,打印对应的星期,否则打印非法参数 */
			var num=+prompt("请输入一个整数(1-7)")
			switch(num){
				case 1:
					alert("星期一");
					break;
				case 2:
					alert("星期二");
					break;
				case 3:
				    alert("星期三");
				    break;
				case 4:
					alert("星期四");
					break;
				case 5:
				    alert("星期五");
				    break;
				case 6:
				    alert("星期六");
				    break;
				case 7:
				    alert("星期日");
				    break;
				default:
				    alert("非法参数");
				    break;
			}
		</script>
	<body>
	</body>
</html>

6、循环控制语句

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
			 * 向页面中输出连续的数字
			 */
			/*var n = 1;
			document.write(n++ +"<br />");*/
			
			/*
			 * 循环语句:
			 * 	通过循环语句可以反复的执行一段代码多次
			 * 
			 * while循环
			 * 	 语法:
			 * 		while(条件表达式){
			 * 			语句...
			 * 		}
			 * 
			 * 	 while语句在执行时,
			 * 		先对条件表达式进行求值判断,
			 * 		如果值为true,则执行循环体,
			 * 		    循环体执行完毕以后,继续对表达式进行判断
			 * 			如果为true,则继续执行循环体,以此类推
			 * 			如果值为false,则终止循环
			 * 
			 * do...while循环
			 * 	 语法:
			 * 		do{
			 * 			语句...
			 * 		}while(条件表达式)
			 * 
			 * 	 执行流程:
			 * 		do...while语句在执行时,会先执行循环体,
			 * 			循环体执行完毕以后,在对while后的条件表达式进行判断,
			 * 			如果结果为true,则继续执行循环体,执行完毕继续判断以此类推
			 * 			如果结果为false,则终止循环
			 * 
			 * 		实际上这两个语句功能类似,不同的是while是先判断后执行,
			 * 			而do...while会先执行后判断,
			 * 		do...while可以保证循环体至少执行一次,而while不能
			 */
			var n = 1;
			
			//向这种将条件表达式写死为true的循环,叫做死循环
			//该循环不会停止,除非浏览器关闭,死循环在开发中慎用
			//可以使用break,来终止循环
			while(true){
				alert(n++);
				//判断n是否是10
				if(n == 10){
					//退出循环
					break;
				}
			}
			
			//创建一个循环,往往需要三个步骤
			//1.创初始化一个变量
			var i = 11;
			
			//2.在循环中设置一个条件表达式
			while(i <= 10){
				//3.定义一个更新表达式,每次更新初始化变量
				document.write(i++ +"<br />")
			}
			
			do{
				document.write(i++ +"<br />");
			}while(i <= 10);
			
			/*while(true){
				alert(1);
			}*/
		</script>
	</head>
	<body>
	</body>
</html>

7、while练习

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">		
			/*假如投资的年利率为5%,试求从1000块增长到5000块,需要花费多少年 */
			//定义一个变量,表示当前的钱数
			var money = 1000;
			//定义一个计数器
			var count = 0;
			//定义一个while循环来计算每年的钱数
			while(money < 5000){
				money *= 1.05;
				//使count自增
				count++;
			}
			console.log("一共需要"+count+"年");
			
			/*
			 * 	从键盘输入小明的期末成绩:
			 *	当成绩为100时,'奖励一辆BMW'
			 *	当成绩为[80-99]时,'奖励一台iphone15s'
			 *	当成绩为[60-80]时,'奖励一本参考书'
			 *	其他时,什么奖励也没有
			 */
			
			/*
			 * prompt()可以弹出一个提示框,该提示框中会带有一个文本框,
			 * 	用户可以在文本框中输入一段内容,该函数需要一个字符串作为参数,
			 * 	该字符串将会作为提示框的提示文字
			 * 
			 * 用户输入的内容将会作为函数的返回值返回,可以定义一个变量来接收该内容
			 */
			//将prompt放入到一个循环中
			while(true){
				//score就是小明的期末成绩
				var score = prompt("请输入小明的期末成绩(0-100):");
				//判断用户输入的值是否合法
				if(score >= 0 && score <= 100){
					//满足该条件则证明用户的输入合法,退出循环
					break;
				}
				alert("请输入有效的分数!(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>

8、for循环

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
			 * for语句,也是一个循环语句,也称为for循环
			 * 	在for循环中,提供了专门的位置用来放三个表达式:
			 * 		1.初始化表达式
			 * 		2.条件表达式
			 * 		3.更新表达式
			 * 
			 *  for循环的语法:
			 * 		for(①初始化表达式;②条件表达式;④更新表达式){
			 * 			③语句...
			 * 		}
			 * 
			 * 		for循环的执行流程:
			 * 			①执行初始化表达式,初始化变量(初始化表达式只会执行一次)
			 * 			②执行条件表达式,判断是否执行循环。
			 * 				如果为true,则执行循环③
			 * 				如果为false,终止循环
			 * 			④执行更新表达式,更新表达式执行完毕继续重复②
			 */
			
			//创建一个执行10次的while循环
			//初始化表达式
			var i = 0;
			
			//创建一个循环,定义条件表达式
			while(i < 10){
				//设置更新表达式
				alert(i++);
			}
			
			for(var i = 0 ; i < 10 ; i++ ){
				alert(i);
			}
			
			/*
			 * for循环中的三个部分都可以省略,也可以写在外部
			 * 	如果在for循环中不写任何的表达式,只写两个;
			 * 	此时循环是一个死循环会一直执行下去,慎用
			 * 	for(;;){
					alert("hello");
				}
			 */
		</script>
	</head>
	<body>
	</body>
</html>

9、for循环练习

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">		
			/* 打印1-100之间所有奇数之和 */
			
			//创建一个变量,用来保存奇数之和
			//var sum = 0;
			
			//打印1-100之间的数
			for(var i=1 , sum=0 ; i<=100 ; i++){
				//判断i是否是奇数
				//不能被2整除的数就是奇数
				if(i%2 != 0){
					//如果i除以2有余数则证明i是奇数
					sum = sum+i;
				}
			}
			console.log("奇数之和为 : "+sum);
			
			/*
			 * 打印1-100之间所有7的倍数的个数及总和
			 */
			//定义一个变量,来保存总和
			var sum = 0;
			//定义一个计数器,来记录数量
			var count = 0;
			
			//打印1-100之间所有的数
			for(var i=1 ; i<=100 ; i++){
				//判断i是否是7的倍数
				if(i % 7 == 0){
					sum += i;
					//使计数器自增1
					count++;
				}
			}
			//输出总和
			console.log("总和为:"+sum);
			//输出总数
			console.log("总数量为:"+count);
			
			/*
			 * 水仙花数是指一个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);
				}
			}
			
			/*
			 * 在页面中接收一个用户输入的数字,并判断该数是否是质数。
			 *	质数:只能被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++){
					//判断num是否能被i整除
					if(num % i == 0){
						//如果num能被i整除,则说明num一定不是质数,设置flag为false
						flag = false;
					}
				}
				//如果num是质数则输出
				if(flag){
					alert(num + "是质数!!!");
				}else{
					alert(num + "不是质数")
				}	
			}
		</script>
	</head>
	<body>
	</body>
</html>

10、嵌套for循环

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script type="text/javascript">		
			/*
			 	通过程序,在页面中输出如下的图形:
			 	*****
			 	*****
			 	*****
			 	*****
			 	*****
			 	* 
			 	*      1   <1   i=0
			 	**     2   <2   i=1
			 	***    3   <3   i=2
			 	****   4   <4   i=3
			 	*****  5   <5   i=4
			 	
			 	***** 1   j<5(5-0)  i=0
			 	****  2	  j<4(5-1)  i=1
			 	***   3   j<3(5-2)  i=2
			 	**    4   j<2(5-3)  i=3
			 	*     5   j<1(5-4)  i=4	 
			 */
			
			//向body中输出一个内容
			//document.write("*****<br />");
			
			//通过一个for循环来输出图形
			//这个for循环执行几次,图形的高度就是多少
			//它可以用来控制图形的高度
			for(var i=0;i<5;i++){
				for(var j=0;j<5;j++){
					document.write("*  ");
				}
				document.write("<br />");
			}
			
			for(var i=0 ; i<5 ; i++){
				/*
				 * 在循环的内部再创建一个循环,用来控制图形的宽度
				 * 目前外部的for循环执行1次,内部的就会执行5次
				 * 内层循环可以来决定图形的宽度,执行几次图形的宽度就是多少
				 */
				for(var j=0 ; j<i+1 ; j++){
					document.write("*   ");
				}
				//输出一个换行
				document.write("<br />");
			}		
			
			for(var i=0;i<5;i++){
				for(var j=0 ; j<5-i ; j++){
					document.write("*   ");
				}
				document.write("<br />");
			}
		</script>
	</head>
	<body>
	</body>
</html>

11、嵌套for循环练习

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
			 * 1.打印99乘法表
			 * 	 1*1=1
			 * 	 1*2=2 2*2=4
			 * 	 1*3=3 2*3=6 3*3=9
			 * 	 1*4=4 2*4=8 3*4=12 4*4=16	
			 * 			....
			 *   1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
			 */
			
			//创建外层循环,用来控制乘法表的高度
			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 />");
			}
			
			/*
			 * 2.打印出1-100之间所有的质数
			 */
			for(var i=2 ; i<=100 ; i++){
				//创建一个布尔值,用来保存结果,默认i是质数
				var flag = true;
				
				//判断i是否是质数
				//获取到2-i之间的所有的数
				for(var j=2 ; j<i ; j++){
					//判断i是否能被j整除
					if(i%j == 0){
						//如果进入判断则证明i不是质数,修改flag值为false
						flag = false;
					}
				}
				//如果是质数,则打印i的值
				if(flag){
					console.log(i);
				}	
			}
		</script>
		<style type="text/css">
			body{
				 2000px;
			}		
			span{
				display: inline-block;
				 80px;
			}
		</style>
	</head>
	<body>
	</body>
</html>

12、break和continue关键字

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">		
			/*
			 * break关键字可以用来退出switch或循环语句
			 * 	不能在if语句中使用break和continue
			 * 	break关键字,会立即终止离他最近的那个循环语句
			 */
			
			for(var i=0 ; i<5 ; i++){
				console.log(i);	
				if(i == 2){
					break;
				}	
			}
					
			for(var i=0 ; i<5 ; i++){
				console.log("@外层循环"+i)
				for(var j=0 ; j<5; j++){
					break;
					console.log("内层循环:"+j);
				}
			}
			
			/*
			 * 可以为循环语句创建一个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也是默认只会对离他最近的循环循环起作用
			 */
			for(var i=0 ; i<5 ; i++){
				if(i==2){
					continue;
				}
				console.log(i);
			}
			
			outer:
			for(var i=0 ; i<5 ; i++){
				for(var j=0 ; j<5 ; j++){
					continue;
					console.log("-->"+j);
				}
				console.log("@--->"+i);
			}
		</script>
	</head>
	<body>
	</body>
</html>

13、优化质数练习

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">	
			//测试如下的程序的性能
			//在程序执行前,开启计时器
			//console.time("计时器的名字")可以用来开启一个计时器
			//它需要一个字符串作为参数,这个字符串将会作为计时器的标识
			console.time("test");
			
			//打印2-100之间所有的数
			for(var i=2 ; i<=100000 ; i++){
				var flag = true;
				for(var j=2 ; j<=Math.sqrt(i) ; j++){
					if(i%j == 0){
						//如果进入判断则证明i不是质数,修改flag值为false
						flag = false;
						//一旦进入判断,则证明i不可能是质数了,此时循环再执行已经没有任何意义了
						//使用break来结束循环
						break;
					}
				}
				//如果是质数,则打印i的值
				if(flag){
					//console.log(i);
				}
			}
			
			//终止计时器
			//console.timeEnd()用来停止一个计时器,需要一个计时器的名字作为参数
			console.timeEnd("test");
		</script>
	</head>
	<body>
	</body>
</html>
原文地址:https://www.cnblogs.com/xidian2014/p/11006193.html