前面讲了 while
循环,但是我也不记得我多久没用它了,因为一般我都使用 for
循环。for
循环把一些几乎是固定结构的东西给包含进去了,让我觉得舒服。比如我们有这样一个循环:
let a=0;while(a<10){console.log(a);a++;}
换成 for
循环呢,就是这样的:
for(let a=0; a<10; a++){console.log(a);}
从五行代码变到三行,好开心。
这里注意 for
的小括号里是三句代码,所以用分号分隔。
- 第一句是初始化,只在整个循环开始之前执行一次;
- 第二句是判断条件,在每一次循环前进行判断;
- 第三句是变化,在每一次执行过大括号里的内容后,执行一次。
所以上面的代码就是:
- 在开始循环之前先
let a=0
,这是初始化,只做一次; - 判断
a<10
则执行大括号的内容,输出a
的值; - 大括号执行完,执行变化语句,
a++
,然后判断条件,决定是否继续循环 - ……
你看,这不就是把 while
里面常用的初始化和变化的语句放到了小括号里么?这样代码看起来就清爽了,真好~
当然 break
和 continue
在 for
循环里同样适用。所以 for
和 while
没啥太大的区别,一个格式清爽,你自然知道该选择哪一个。
不过到了 while(true){……}
的情况,就没必要使用 for
了,这时候还是 while
看起来更清爽。所以并没有谁好谁坏,只是按需选择罢了。
for
的循环还有一些其他格式,我们后面用到再作补充。那时候你才会真的了解它的强大。
到这里,循环这一部分就讲完了,而这一章剩下的篇幅还不少,索性就给大家留个作业吧~
1 到 200 的整数,如果这个数字是 3、5、7 的倍数则输出,比如:
- 9 是 3 的 3 倍;
- 35 是 5 的 7 倍,是 7 的 5 倍;
就这样,大家想想看如何写呢?
说明一点:循环部分的例子,很多都是为了讲解相关知识,然后就这么写了,并不是解决这个问题的最简单,最舒服的方法,大家可以尝试将这些问题用更优雅的代码去解决。
(好像留作业并没有对篇幅起到拯救的作用,不管了,假装凑齐!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容