javaScript循环语句2循环语句很多事情不只是做一次,要重复做。比如:在操场上跑十圈。我们可以使用循环语句来完成这个功能。循环语句,就是重复执行一段代码。那么,要完成一个循环,需要哪些条件呢?1、需要计算已经跑了几圈,也就是一个计数器。2、需要一个循环的退出条件,在这里是跑够10圈。3、计数器需要不断的在改变。你可以1、2、3、4、......一直数到10。也可以10、9、8、7、......一直数到1。2/483while循环循环三要素:1、声明循环变量。2、设置退出条件。3、让循环变量改变。实际上,while循环的语法结构中,就是体现这三个要素。//1、声明循环变量。vari=0;//2、设置退出条件(条件表达式为true时,继续循环。为false时退出循环。while(i10){//每次循环要做到事情document.write(跑圈br);//3、让循环变量改变。i++;}3/484循环次数的确定循环次数是由循环变量的初始值、退出条件、循环变量的改变共同决定的。所以完成相同的循环次数,可以有不同的实现方式。以下几种方式都实现了循环十次。4/48vari=0;while(i10){document.write(跑圈br);i++;}vari=1;while(i=10){document.write(跑圈br);i++;}vari=0;while(i20){document.write(跑圈br);i=i+2;}vari=10;while(i0){document.write(跑圈br);i--;}5死循环当退出条件永远为true时,或者循环变量没有改变时,会导致退出条件永远不满足,那么循环永远不会停止,这种现象叫做死循环。5/48vari=0;while(i10){document.write(跑圈br);}缺失i++,造成死循环vari=0;while(1==1){document.write(跑圈br);i++;}条件表达式永远为true,造成死循环6练习1、输出0-9的数字。2、输出10(包括10)以内的所有偶数。3、输出9*1、9*2、9*3、......9*9的值。4、求0-100的所有数之和。再计算平均值。5、公司计划2015年培养学员3万人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到10万人?6、输出摄氏温度与华氏温度的对照表,要求它从摄氏温度0度到250度,每隔20度为一项,对照表中的条目不超过10条。转换关系:华氏温度=摄氏温度*9/5.0+327、计算10!。8、求1-100之间不能被3整除的数之和。9、判断一个数是不是质数。10、求1/2+1/4+1/8+1/16...…11、输出斐波那契级数(1,1,2,3,5,8,13,21,34,55,89,144…...)。12、将一个正整数分解质因数13、将一个数字倒叙输出(12345-54321)6/487dowhile循环dowhile结构的基本原理和while结构是基本相同的,但是它保证循环体至少被执行一次。因为它是先执行代码,后判断条件,如果条件为真,继续循环。从1开始输出数字,直到数字大于等于5.varnum=1;do{document.write(num+br);num++;}while(num=5);7/488while与dowhile循环的区别while循环:先判断,后执行。执行次数:0-Ndowhile循环:先执行,后判断。执行次数:1-N8/489for循环再while循环中,循环的三要素需要分开写,这样造成结构松散。for循环将循环三要素写在一起,结构紧凑。for(声明循环变量;退出条件;循环变量的改变){//循环体}for(vari=0;i10;i++){document.write(跑圈br);}注意:1、vari=0这段语句只在循环刚开始时执行一遍,以后将不会被执行。2、for循环也是先判断,再执行。9/4810练习使用for循环实现前面的练习10/4811for语法特点for循环语句中,两个;不能省略,其余部分都可省略。vari=0;for(;;){if(i=10){break;}document.write(跑圈br);i++;}for(;;){//......}这是for的死循环11/4812for语法特点for循环语句中,循环变量可以有多个。for(vari=0,j=6;i=6;i++,j--){document.write(i+++j+=+(i+j)+br);}12/4813break语句在循环中可以使用break语句退出当前循环,直接执行后面的代码。求0-10的所有数之和,但是当和超过20时退出循环。varsum=0;for(vari=0;i=10;i++){sum+=i;if(sum20){break;}}document.write(sum);执行结果:2113/4814continue语句continue的作用是仅仅跳过本次循环,而整个循环将继续执行。输出0-9的数字。其中7不输出。for(vari=0;i10;i++){if(i==7){continue;}document.write(i+br);}14/4815break与continue的区别for(){............break;............}直接退出整个循环结构15/48for(){..................continue;............}退出当前这次循环,进行下一次循环16循环结构总结16/48while和for相同,先进行判断,后执行循环体内容do-while是先执行,后判断,至少执行一次17控制流语句总结顺序结构:语句顺序执行分支结构:语句在满足条件下执行if,if-else,if-elseif-else,switch循环结构:语句在满足条件下循环执行多次while,do-while,for跳转语句break,continue17/4818练习1、判断一个数是不是质数2、输出*****(注意:使用循环输出)3、输出*************************4、今有官司,差夫筑堤,只云初日差六十四人,次日较多七人,每人日支米三升,共支米四百三十石九斗二升,问筑堤几日?(十升一斗、十斗一石)5、今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?18/4819嵌套循环-1for(vari=0;i5;i++){for(varj=0;j5;j++){document.write(*);}document.write(br);}注意:内层循环控制列,外层循环控制行19/48这段代码的作用就是输出一行5颗星,将整个这段代码再循环5遍。20嵌套循环-2for(vari=0;i5;i++){for(varj=0;j=i;j++){document.write(*);}document.write(br);}20/4821嵌套循环-3for(vari=0;i5;i++){for(varj=4;ji;j--){document.write( );}for(varj=0;j=i;j++){document.write(*);}document.write(br);}21/4822嵌套循环-4for(vari=0;i5;i++){for(varj=4;ji;j--){document.write( );}for(varj=0;j=i*2;j++){document.write(*);}document.write(br);}22/4823练习1、输出乘法表。2、输出带格式的乘法表。23/48卓越人生ETC与你共成长