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就可以了。
循环就写到这里吧,可能有没有提到的知识点,以后会在补充的。
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就可以了。
循环就写到这里吧,可能有没有提到的知识点,以后会在补充的。
相关文章推荐
- 小花 - JS循环结构(初级)
- js 循环结构
- JS循环结构5
- 【面向JS--分支结构、循环结构】
- js中的循环结构
- js第二课循环结构
- js中选择结构和循环结构
- JS 循环结构研究
- JS中数据结构的遍历--Iterator和for...of循环
- JS与循环结构
- 13、C#里面do...while循环结构的使用
- JS初级循环
- C#中循环结构的效率问题
- JS循环语句for、for in、while、do while循环的区别
- 理解JS事件循环
- 分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
- 一个窗口共卖出5张票和每个窗口都卖出5张票-----难道是run里面循环造成的结构???
- Js读取json数据 && 循环读取JSON数据
- Java循环结构
- Asp.net 循环结构 数组