for循环、while循环、do…while循环
什么是循环结构?
反复⼀遍⼜⼀遍做着相同(相似)的事情
循环结构的两⼤要素?
循环条件:什么时候开始,什么时候结束
循环操作:循环体,循环过程中做了什么
⼀、while语句
while语句属于前测试循环语句,也就是说,在循环体内的代码被执⾏之前,就会对出⼝条件求值
while(Boolean条件表达式){
循环体语句;
}
流程:
while语句在执⾏时,先对条件表达式进⾏求值判断,
如果值为true,则执⾏循环体,循环体执⾏完后,
继续对条件表达式进⾏判断;如果值还为true则继续执⾏循环体,以此类推。
如果值为false,则终⽌循环;退出循环结构
注意:如果循环条件⼀直为真的话,那么循环就是⼀个死循环,尽量避免死循环的产⽣。⼀定要记得更新循环变量(条件)
var val=1
while(true){
alert(val++);
}
例如:这种直接把while的条件表达式设定为 true 的循环叫做死循环,死循环会在浏览器中⼀直运⾏下去,除⾮浏览器关闭。可以使⽤break 来退出循环
创造⼀个循环需要有三个步骤:
1、创建初始化的⼀个变量
2、在循环中设置条件表达式
3、循环之中定义⼀个更新表达式,每次更新初始化变量。
这⾥⾯之所以要放  a++(⾃增)这个条件,是因为每次使得循环结束成为可能,如果不放  a++,那么a=2永远都是⼩于10的,那么while后的条件表达式永远都是true,这就会进⼊了⼀个死循环。
var a=2;
while(a<10){
  alert(a);
  a++;
}
循环中的流程控制:
1、continue 关键字作⽤:⽤于循环中,⽤于终⽌本次循环,但还会继续执⾏下次循环
2、break关键字作⽤:⽤在循环中,⽤以跳出整个循环结构!!
实例:
定义⼀个变量i=0,通过while语句判断 i<100是否为true,为true进⼊循环体输出i的值,然后在进⼊if循环体进⾏判断,当i==5时,直接执⾏break跳出循环
var i=0;
while(i<100){
console.log(i);
if(i==5){
break;
}
i++;
⼆、do…while循环
do/while语句是⼀种后测试循环语句,即只有在循环体中的代码执⾏之后,才会测试出⼝条件。
换句话说,再对条件表达式求值之前,循环体内的代码⾄少会被执⾏⼀次。
语法:
do{
可执⾏语句…
}while(Boolean表达式)
执⾏流程:
会先执⾏循环体。循环体在执⾏完毕以后,
再对while后的条件表达式进⾏判断,
如果结果为true,则继续执⾏循环体,执⾏完毕继续判断以此类推
如果结果为false,则终⽌循环。
⽆论条件满⾜与否,⾄少要先执⾏⼀次循环操作
while循环与do…while循环的区别:
do…while语句是先执⾏后判断;保证循环体⾄少执⾏⼀次(⽆论while是不是true)
while语句里的ifwhile语句是先判断后执⾏,while表达式值为false时循环体不执⾏,执⾏0次。
实例:
var val=11
do{
document.write(val++ + "<br>")
}while(val<=10)
表现效果:
不论while语句表达式成不成⽴,do…while语句都最少会执⾏⼀次。
实例:
加⼊投资年利率为5%,从1000块钱增长到5000块钱,需要花费多少年。
⾸先定义⼀个变量,表⽰当前的钱数。
循环执⾏⼀次表⽰⼀年,执⾏两次就表⽰两年,总共执⾏多少次就表⽰总共将花费的年数。
设置⼀个计时器(⾃增语句)来计算while语句循环了多少次。
var money=1000;
var count=0
while(money < 5000){
money *=1.05;
count++;
}
console.log("⼀共需要:" + count + "年")
三、for 循环
for语句也是⼀种前测试循环语句,但它具有在执⾏循环之前初始化变量和定义循环后要执⾏的代码的能⼒for循环中专门提供了位置来放置循环的三个表达式
定义⼀个循环需要做实现这三步:
1、初始化表达式
2、条件表达式
3、更新表达式
语法:
for(①初始化表达式;②条件表达式;③更新表达式){
循环体语句;
}
for循环执⾏过程:
1、执⾏初始化表达式,初始化变量;(初始化表达式只执⾏⼀次)
2、执⾏条件表达式(Boolean值),判断是否执⾏循环
如果表达式值为true则执⾏循环体,
如果表达式值为false则退出循环;
4、执⾏更新表达式,更新表达式执⾏完之后,则继续执⾏第2步
如此循环往复,直到条件表达式的值为false。
注意:for语句的三个表达式可以不写,也可以写在外⾯(两个分号;是必不可少的,⽆论写不写表达式)注意:在for循环的变量初始化表达式中,也可以不使⽤var 关键字。变量的初始化可以在外⾯定义;
var count=10;
var i;
for(i=0;i<count ;i++){
alert(i);
}
注意:如果for循环中不写任何表达式只写两个分号;那么此时for循环就是⼀个死循环,会⼀直执⾏下去
for(;;){
alert("我是⼀个死循环");
}
循环图⽰:
使⽤while 循环做不到的,使⽤ for 循环同样也做不到。也就是说,for循环只是把与循环相关的代码集中到了⼀个位置。
for循环⼀般⽤于实现固定次数的循环
实例:
累加:(求1+2+3+4+…+100=?)
注意:声明在循环体内部的变量在循环体外⾯也是可以访问的到
这个代码中定义了变量i 的初始值为0,只有当条件表达式 i<=100返回的值为 true 的情况下才会进⼊ for 循环,如果值为 true 则执⾏循环体中的代码对 i 进⾏⾃增(求 i++)
var sum=0;
for(var i=1;i<=100;i++){
sum += i;
}
console.log("1到100的和为:"+sum);
阶乘:(求1*2*3*…*100=?)
var fact=1;
for(var i=1;i<=10;i++){
fact *= i;
}
console.log("1到10的阶乘为:"+fact);
for,while,do-while循环之间的区别
1、for、while循环
最少执⾏0次
while:多数⽤于不确定循环次数时使⽤
for:多数⽤于确定循环次数时使⽤
2、do-while循环
最少执⾏1次
适合⽤于不确定循环次数时使⽤
循环的嵌套:
在⼀个循环体内再出现⼀个循环
for / while / do-while 三种循环在很多情况下都是可以互换的;⼀般情况下,for循环使⽤最多。
总结:
for,while,do-while循环在很多情况下都可以相互代替使⽤
与计数相关的更常使⽤ for循环
while 和 do…while  可以做更复杂的判断条件,⽐for循环更加灵活⼀点
while 和 do…while执⾏的顺序不⼀样,while先判断后执⾏,do…while先执⾏⼀次,再进⾏判断while 和 do…while 执⾏次数不⼀样,do…while ⾄少会执⾏⼀次循环体,⽽while 可能⼀次也不执⾏

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。