JavaScript for循环

  • JavaScript For循环

    循环可以多次执行代码块。循环是很方便的,如果你想一遍又一遍地运行相同的代码,每次都有不同的值。使用数组时经常会出现这种情况:
    这样写很笨:
    text += cars[0] + "<br>"; 
    text += cars[1] + "<br>"; 
    text += cars[2] + "<br>"; 
    text += cars[3] + "<br>"; 
    text += cars[4] + "<br>"; 
    text += cars[5] + "<br>";
    这是聪明的做法:
    var i;
    for (i = 0; i < cars.length; i++) { 
      text += cars[i] + "<br>";
    }
    尝试一下
  • 不同种类的循环

    JavaScript支持不同类型的循环:
    • for - 循环遍历一段代码
    • for/in - 遍历对象的属性
    • while - 在指定条件为真时循环遍历代码块
    • do/while - 当指定条件为真时,循环遍历代码块,代码块最少会执行一次
    本节主要介绍for循环
  • for循环

    for循环具有以下语法:
    for (语句 1; 语句 2; 语句 3) {
      // 要执行的代码块
    }
    在执行代码块之前执行语句1(一次)。语句2定义了执行代码块的条件。 在执行代码块之后执行语句3(每次)。
    for (i = 0; i < 5; i++) {
      text += "The number is " + i + "<br>";
    }
    尝试一下
    从上面的示例中,您可以阅读:语句1在循环开始之前设置变量(var i = 0)。语句2定义了循环运行的条件(i必须小于5)。每次执行循环中的代码块时,语句3都会自增1(i++)。
  • 声明1

    通常,您将使用语句1初始化循环中使用的变量(i = 0)。情况并非总是如此,JavaScript并不关心。声明1是可选的。您可以在语句1中启动许多值(以逗号分隔):
    for (i = 0, len = cars.length, text = ""; i < len; i++) { 
      text += cars[i] + "<br>";
    }
    尝试一下
    您可以省略语句1(就像在循环开始之前设置值时):
    var i = 2;
    var len = cars.length;
    var text = "";
    for (; i < len; i++) { 
      text += cars[i] + "<br>";
    }
    尝试一下
  • 声明2

    通常,语句2用于评估初始变量的条件。情况并非总是如此,JavaScript并不关心。声明2也是可选的。如果语句2返回true,则循环将重新开始,如果返回false,循环将结束。
    如果省略语句2,则必须在循环内提供break。否则循环永远不会结束。这会使您的浏览器崩溃。在本教程的后续章节中阅读有关中断的内容。
    for (var i=0 ; ; i++) { 
        "这个数字是:" + i + "<br>";
        if(i>15){
          break;  // 当i大于15时跳出循环
      }
    }
    尝试一下
  • 声明3

    语句3通常会增加初始变量的值。情况并非总是如此,JavaScript并不关心,语句3是可选的。语句3可以执行任何操作,例如负增量(i--),正增量(i = i + 15)或其他任何内容。语句3也可以省略(就像在循环中增加值时):
    var i = 0;
    var len = cars.length;
    for (; i < len; ) { 
      text += cars[i] + "
    ";
      i++;
    }
    尝试一下
  • for / in循环

    JavaScript for/in语句循环遍历对象的属性:
    var person = {fname:"John", lname:"Doe", age:25}; 
    
    var text = "";
    var x;
    for (x in person) {
      text += person[x];
    }
    尝试一下
    while循环和do/while循环将在下一章来解释。