相关文章推荐
魁梧的大熊猫  ·  Android ...·  2 年前    · 
谦逊的苦瓜  ·  android - ...·  2 年前    · 

来一起循环

循环,循环,循环。就与这些: popular breakfast cereals , roller coasters and musical production 一样,类似存在于编程中。编程中的循环也是一直重复着去做一件事 - 此处循环便是编程中的术语。

让我们来想一下下图,这位农夫考虑为他的家庭做一周的食物计划,他或许就需要执行一段循环:

一段循环通常需要一个或多个条件:

  • **一个开始条件,**它被初始化为一个特定的值 - 这是循环的起点 ("开始:我没有食物”,上面)。
  • **一个结束条件,**这是循环停止的标准 - 通常计数器达到一定值。以上所说的“我有足够的食物”吗?假设他需要 10 份食物来养活他的家人。
  • **一个迭代器,**这通常在每个连续循环上递增少量的计数器,直到达到退出条件。我们以前没有明确说明,但是我们可以考虑一下农民能够每小时收集 2 份食物。每小时后,他收集的食物量增加了两倍,他检查他是否有足够的食物。如果他已经达到 10 分(退出条件),他可以停止收集回家。
  • 伪代码 中,这看起来就像下面这样:

    js
    loop(food = 0; foodNeeded = 10) {
      if (food = foodNeeded) {
        exit loop;
        // 我们有足够的食物了,回家吧。
      } else {
        food += 2; // 花一个小时多收集两个食物。
        // 循环将会继续执行。
    

    所以需要的食物量定为 10,农民目前的数量为 0。在循环的每次迭代中,我们检查农民的食物量是否等于他需要的量。如果是这样,我们可以退出循环。如果没有,农民花一个小时收集两部分食物,循环再次运行。

    在这一点上,你可能会了解循环中的高级概念,但你可能会认为“好的,但是,这有助于我编写更好的 JavaScript 代码?”正如我们前面所说,循环与所做的事情都是一样的,这对于快速完成重复任务是非常有用的。

    通常,循环的每个连续迭代的代码将略有不同,这意味着你可以完成相同但略有不同的任务的全部负载 - 如果你有很多不同的计算要做,做不同的一个,不一样的一个又一个!

    让我们来看一个例子来完美地说明为什么循环是一件好事。假设我们想在<canvas>元素上绘制 100 个随机圆(按更新按钮一次又一次地运行示例以查看不同的随机集):