freeCodeCamp/guide/chinese/javascript/loops/for-loop/index.md

2.1 KiB
Raw Blame History

title localeTitle
For Loop 对于循环

句法

for ([initialization]); [condition]; [final-expression]) { 
   // statement 
 } 

javascript for语句由三个表达式和一个语句组成:

描述

  • 初始化 - 在循环上第一次执行之前运行。此表达式通常用于创建计数器。这里创建的变量的范围是循环。一旦循环完成它的执行就会被破坏。
  • condition - 在每次迭代执行之前检查的表达式。如果省略则此表达式的计算结果为true。如果计算结果为true则执行循环语句。如果计算结果为false则循环停止。
  • final-expression - 每次迭代后运行的表达式。通常用于增加计数器。但它也可以用来递减计数器。
  • statement - 要在循环中重复的代码

这三个表达式中的任何一个或语句都可以省略。 For循环通常用于计算一定数量的迭代以重复语句。在条件表达式求值为false之前使用break语句退出循环。

常见的陷阱

超过数组的边界

当多次索引数组时很容易超出数组的边界例如尝试引用3元素数组的第4个元素

    // This will cause an error. 
    // The bounds of the array will be exceeded. 
    var arr = [ 1, 2, 3 ]; 
    for (var i = 0; i <= arr.length; i++) { 
       console.log(arr[i]); 
    } 
 
    output: 
    1 
    2 
    3 
    undefined 

有两种方法可以修复此代码。将条件设置为i < arr.lengthi <= arr.length - 1

例子

迭代0-8的整数

for (var i = 0; i < 9; i++) { 
   console.log(i); 
 } 
 
 output: 
 0 
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 

在条件表达式为false之前中断循环

for (var elephant = 1; elephant < 10; elephant+=2) { 
    if (elephant === 7) { 
        break; 
    } 
    console.info('elephant is ' + elephant); 
 } 
 
 output: 
 elephant is 1 
 elephant is 3 
 elephant is 5 

其他资源