zoukankan      html  css  js  c++  java
  • 流程控制

    一、代码块

    <!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>
    
  • 相关阅读:
    ezjailserver备份和恢复方法
    三种方式上传文件-Java
    将EBS设为首页worklist删除误报
    软软测试总结检查
    C++包括头文件&lt;&gt;和&quot;&quot;差额
    web报告工具FineReport在使用方法和解决方案常见错误遇到(一)
    WEB流程设计器 = jQuery + jsPlumb + Bootstrap
    SuperMap/PlottingSymbol
    基于easyui开发Web版Activiti流程定制器详解(六)——Draw2d的扩展(三)
    基于easyui开发Web版Activiti流程定制器详解(六)——Draw2d详解(二)
  • 原文地址:https://www.cnblogs.com/xidian2014/p/11006193.html
Copyright © 2011-2022 走看看