第七章

148 阅读3分钟

案例:

1.for循环:

代码:

<!DOCTYPE html>
<html>
<head>
	<title>for</title>
</head>
<body>
	<script type="text/javascript">
		for(var m=1,n=2;m+n<25;m++)
		{
			n+=3;
			console.log(m);
		}
	</script>
</body>
</html>

实现:

2.累乘器

注意事项:

变量必须书写在for循环外面,初始为1;

变量改变使用*=

最终结果在for循环外面输出;

代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>for</title>
</head>
<body>
	<script type="text/javascript">
		var num=parseInt(prompt("请输入数字:"));
		var cheng = 1;
		for(var i = 1;i <= num;i++)
		{
			cheng*=i;
		}
		//输出结果
		console.log(cheng);
	</script>
</body>
</html>

3. 计算3/2+4/3+...+(n+1)/n

代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>for</title>
</head>
<body>
	<script type="text/javascript">
		var num=parseInt(prompt("请输入数字:"));
		var sum=0;
		for(var i = 2;i <= num;i++)
		{
			sum+=(i+1)/i;
		}
		//输出结果
		console.log(sum);
	</script>
</body>
</html>

4.输出1-60“安全数”

for将1-60所有可能一一举例

if限制条件将想要的结果输出

代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>for</title>
</head>
<body>
	<script type="text/javascript">

		for(var i = 1;i <= 60;i++)
		{
			//限制条件
		if(i%7!==0 && i%10!==7)
			console.log(i);
	    }
		
	</script>
</body>
</html>

5.穷举思想以及for循环嵌套

代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title></title>
</head>
<body>
	<script type="text/javascript">

		for(var i = 0;i <= 100;i++){
			for(var j = 0;j <=100;j++){
					for (var k = 0;k <=100;k++){
						if (3*i+2*j+k==200 && i+j+k==100) 
						{
							console.log(i,j,k);
						}
					
					}
		  		}
    	    }
	</script>
</body>
</html>

极限思维优化:

break作用

break:中断,表示已经找到满足条件的数值,不再需要往下执行,立即结束整个循环

之前循环语句停止,只有一个可能就是条件为假,立即结束循环。还可以通过break结束循环

循环语句for,while,do while,switch语句中执行break,结束break所在层的整个循环语句(switch语句),把语句控制权交给循环语句之后的其他语句

如果有嵌套语句,不能结束外层循环!!!

例子:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title></title>
</head>
<body>
	<script type="text/javascript">

		for(var i = 1;i < 4;i++){
			for(var j = 1;j < 4;j++){
				//当j==2结束循环
				if (j==2) 
				{
					//break只能控制所在层的循环,break只能控制j不能控制i
					break;
				}
				console.log(i,j);	
			}
		 }
	</script>
</body>
</html>

continue:继续

表示结果不是想要的,赶快进入下一次循环

continue只能结束该次(该值)的循环,不结束整个循环

continue也可以通过标签控制wai'ce

案例:

输出1-200内所有素数

代码:

实现: