第一百零四章 for 循环

前面讲了 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
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容