您的位置:首页 > Web前端 > JavaScript

JS循环结构

2017-07-29 19:26 351 查看
JS循环结构

1、循环结构的概念

生活中有许多的重复做着一种事情的人,计算机程序为了解决生活中的实际问题,程序中也应该有的描述,这就是循环。

下面的一个案例,让我们了解一下循环:

计算1+2+3+....+10
/*方案一*/
var sum1 = 1+2+3+4+5+6+7+8+9+10;
/*方案二*/
var sun2 = 0;
sum2 += 1;
sum2 += 2;
sum2 += 3;
sum2 += 4;
sum2 += 5;
sum2 += 6;
sum2 += 7;
sum2 += 8;
sum2 += 9;
sum2 += 10;
上面这两个方案,都没有使用循环,这还是相加的数少,要是相加的数多呢,这样的方法就不太理想了。那么使用一个循环来改造上面的案例吧。
/*方法三:改造方法二*/
var sum3 = 0;
var n = 1;
while(n <= 10){
sum3 += n;
n++;
}
方案三表达的含义和方法二一样,但是表达方式要好很多,比如要加到10000时,只需要把里面的条件n<=10改为n<=10000,就可以了。这样既方便有简洁,容易理解。
2、while循环

while是表示“当······则······”,也就是说当某个条件成立时,则一直重复做。还有一个do···while循环。

这两个的区别:

while只要一次程序执行错误,就不执行了;do···while是不管怎样都要先执行一次,才会输出。

下面就用几个案例来展示一下。

案例1:使用while判断水仙花数

var num = 100;
while (num <= 999) {
var b100 = Math.floor(num / 100);
var b10 = Math.floor((num % 100) / 10);
var b = num % 10;
var sum = Math.pow(b, 3) + Math.pow(b10, 3) + Math.pow(b100, 3);
if(sum == num){
alert(num + "是水仙花数!");
}
num++;
}
案例2:GDP总量运算
var year = 2009;
var china = 49089.82;
var usa = 142562.75;
while(usa > china){
china *= (1+0.08);
usa *= (1+0.02);
year++;
}
alert(year + "年,中国GDP将超过美国");
案例3:计算圆周率,π = (1 - 1/3 + 1/5 - 1/7 +····)* 4,计算最后一项的绝对值小于10-6。
var sum = 0;//累加和
var t = 1;//每一项分数
var sign = 1;//分数的符号
var deno = 1;//分数的分母
while(Math.abs(t) >= 1e-6){
sum += t;//重复做的事
sign = -sign;
deno += 2;
t = sign*1/deno;
}
var pi = sum*4;
alert(pi);循环的套路:(1)初始状态
(2)循环条件

(3)循环体(要重复做的事情)

(4)为下次循环做准备

只要明白这四点,循环就不是问题了。

3、for循环

不说理论知识点了,直接使用案例来表示。

案例4:把案例1修改一下,使用for循环判断水仙花数

for(var num=100; num <=999; num++){
var b100 = Math.floor(num / 100);
var b10 = Math.floor((num % 100) / 10);
var b = num % 10;
var sum = Math.pow(b, 3) + Math.pow(b10, 3) + Math.pow(b100, 3);
if(sum == num){
alert(num + "是水仙花数!");
}
}案例5:计算1-100的偶数相加
var sum3 = 0;
for(var n=2; n<=100; n+=2){
sum3 += n;
}
alert(sum3);案例5还可以把数值改变一下,求奇数的相加和。直接把for循环条件里的n=2改成n=1就可以了。

循环就写到这里吧,可能有没有提到的知识点,以后会在补充的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: