当前位置:首页 > Web开发 > 正文

js语法基础入门(5.2)

2024-03-31 Web开发

标签:

5.2.循环结构

当一段代码被重复调用多次的时候,可以用循环结构来实现,就像第一个实例中出现的场景一样,需要重复询问对方是否有空,这样就可以使用循环结构来搞定

5.2.1.for循环语句 //语法结构: for(初始化表达式;条件表达式;条件改变表达式){ 循环体; }

程序流程图

实例:

/** *输出1-100的整数 */ for(var i=1;i<100;i++){ document.write(i+"<br />"); }

for循环详解

//假如要循环输出1-3 这3个整数,如果用for循环来实现,那么在循环内部是怎样运行的呢? for(var i=1;i<=3;i++){ console.log(i); } 上面程序的执行流程: 1、先执行初始化表达式 var i=1,给i赋值 2、把i=1,拿到条件表达式中判断,此时i=1<=3 为true 3、当条件表达式为true的时候,执行循环体,console.log(i) i此时是等于1的,所以输出了1 4、执行完成循环体以后,开始执行条件改变表达式i++ 执行完成i++后 i=2 5、拿i=2放到条件表达式中判断 i=2<=3 为true 6、当条件表达式为true,又开始执行循环体console.log(i) i此时是等于2的,所以输出了2 7、执行完成循环体以后,开始执行条件改变表达式i++ 执行完成i++后 i=3 8、拿i=3放到条件表达式中判断 i=3<=3 为true 9、当条件表达式为true,又开始执行循环体console.log(i) i此时是等于3的,所以输出了3 10、执行完成循环体以后,开始执行条件改变表达式i++ 执行完成i++后 i=4 11、拿i=4放到条件表达式中判断 i=4<=3 为false 12、这个时候条件表达不成立了,循环结束

注意:如果条件表达式永远为真的情况下,程序就会一直循环,造成死循环,把浏览器卡死**

for循环练习题:

1、输出h1到h6的标题 2、求解1—100和 3、求解 1-100 奇数和 4、求解1-100中能被3整除的所有数字的和 5、求解1-100 能被3和5同时整除的数字的和 6、使用for循环输出2000年到2100年之间的闰年 提示:闰年:400的倍数 或者 是4的倍数不是100的倍数

5.2.2 while循环语句 语法结构: while(条件表达式){ 循环体 }

程序流程图

var i=1; //这里类似于for循环的初始化表达式 while(i<100){ //这里为条件表达式 console.log(i); i++;//条件改变表达式 }

总结:while循环的特点就是,当条件表达式为真的时候就执行循环体里面的内容,为假的时候就退出循环,因此,一定要搞清楚,在什么时候结束循环,不然会写出死循环代码**

练习题: 一张纸的厚度是0.01毫米,对折多少次后能超过1米?

解答: var paper = 0.01;//纸的初始厚度 var count = 0;//统计折纸次数 while(paper<1000){ paper = paper*2; count++ } console.log(count);

总结:while和for都可以用来做循环,那么它们各自的应用场景是什么呢?什么情况下用for,什么情况下用while?从上面的代码我们可以知道,使用for循环的话得先知道要循环多少次,这个次数是已经知道了的,而while的特点就是只要条件表达式为真就循环,否则就退出,所以,我们得出一个常用的结论,当知道循环次数的时候,用for循环要方便一些,当不知道次数,但是知道条件表达式什么时候为false,这个时候可以用while更方便一些。**

5.2.3 do...while循环语句

程序流程图:

实例:

var i=1; do{ console.log(i); i++; }while(i<=10);

练习: 模拟考试 var i = 0; do{ i++; var score = parseInt(Math.random()*101); console.log("第"+i+"次考试成绩为:"+score+"
"); }while(score<60); console.log(‘考试通过!
‘);

总结:do while循环和while循环的用法差不多,只是do while循环比较粗暴,一上来不管三七二十一就先执行一次,执行完成了以后再去问问条件表达式是否满足条件,所以说do while循环执行循环体的次数是大于等于1次,而while循环比较温柔,先上来问问条件表达式可不可以执行,所以执行循环体的次数是大于等于0次**

5.2.4.break,continue语句 //break;表示跳出当前循环 /** * 当i=5时,跳出循环 */ for(var i = 0;i<10;i++){ if(i==5){ break;//结束当前for循环,也就是说循环i只加到5就被结束掉了 } console.log(i); } /** *当i=5时,跳出本次循环 */ for(var i=0;i<10;i++){ if(i==5){ continue;//结束本次循环,继续下次循环 } console.log(i); }

总结:continue和break都是用来跳出循环的,只是跳出的位置不同,break直接把循环结束掉了,而continue只是结束掉了一次循环,后面的循环还要继续,有时候去判断数组里面是否有某个值的时候,需要去把数组元素循环查询出来做对比,如果对比上了就不用继续查询后面的元素了,这种情况需要用到break,当要过滤掉某次循环掉话,可以用条件语句加上continue实现**

5.2.5.循环嵌套

循环嵌套就是循环中有循环,这种结构需要等内层循环执行完成后才能执行外层循环。

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/40736.html