js中的循环语句(for-in循环/for循坏/do-while循环/while 循环)

责编:menVScode 2017-08-24 16:54 阅读(872)

        在 JavaScript 中,循环主要有以下四种类型:

             while 循环;

             do-while 循环;

             for 循环;

             for-in 循环。

        1、while 循环

        while 循环是最为简单的一种循环,它们通常是这样的:

var i = 0;
while (i < 10) {
       i++;
}

        while 语句主要分为两个部分:小括号中的条件和大括号中的代码块。当且仅当条件值为 true 时,代码块才会被反复执行。

        

        2、do-while 循环

        do-while 循环实际上是 while 循环的一种轻微的变种。示例如下:

var i = 0;
do {
      i++;
} while (i < 10);

        在这里,do 语句后面先出现的是代码块,然后才是条件。条件出现在代码块之后,这意味着代码块无论如何都会被执行一次,然后再去对条件部分进行求值。

        如果我们将上面两个示例中的 i 初始化为 11 而不是 0 的话,第一个例子(while 循环)中,代码块将不会执行,i 最终的值仍然是 11,而第二个例子(do-while 循环)中的代码块将会被执行一次, i 的值也会变为 12。

 

            3、for 循环

        for 是使用得最为广泛的循环类型,也是我们最应该掌握的内容。实际上,这也只需要掌握一点点语法知识。

QQ截图20170824164552

        在条件 C 和代码块 L 的基础上,我们还需要增加以下两个部分的内容。

         初始化部分 — 在进入循环之前所要执行的代码(即图中 0 所标识的内容)。

         自增部分 — 每次迭代完成后所要执行的代码(即图中++所标识的内容)。

        最常用的 for 循环模式主要包括以下内容。

         在初始化部分中,我们会定义一个循环变量(通常命名为 i),例如 var i = 0;。

         在条件部分中,我们会将 i 与循环边界值进行比对。例如 i < 100。

         在自增部分中,我们会将循环变量 i 自增 1,如 i++。

        下面来看一个具体示例:

var punishment = '';
for (var i = 0; i < 100; i++) {
       punishment += 'I will never do this again, ';
}

        实际上,这三个部分(初始化、循环条件、自增操作)都可以写成用逗号分割的多重表达式。例如,我们可以重写一遍上面的例子,在其初始化部分中增加 punishment 变量的定义。

for (var i = 0, punishment = ''; i < 100; i++) {
      punishment += 'I will never do this again, ';
}

        那么,我们能不能把循环体中的内容移到自增部分中去呢?当然可以,尤其当其中只有一行内容时。只不过这样的循环看上去有点令人尴尬,因为它没有循环体了。

for (
      var i = 0, punishment = '';
      i < 100;
      i++, punishment += 'I will never do this again, '){
      // nothing here
}

        事实上,这三部分也都是可选的,上面的例子也完全可以写成下面这样:

var i = 0, punishment = '';
for (;;) {
     punishment += 'I will never do this again, ';
     if (++i == 100) {
           break;
      }
}

        尽管代码重写之后的工作方式与原来相同,但它显得更长,可读性也更差了。我们也完全可以用 while 循环来取代它。但 for 循环可以使代码更紧凑、更严谨。它的三个部分(初始化、循环条件、自增操作)泾渭分明,语法也更为纯粹。这些都有利于我们理清程序的逻辑,从而避免类似于无限循环这样的麻烦。

        另外,for 循环还可以彼此嵌套。

        

        4、for-in 循环

        for-in 循环往往被用来遍历某个数组(或对象,这一点我们以后再讨论)中的元素。这似乎也是它唯一的用处,该循环不能用来替代 for 或 while 循环,执行某些一般性的

重复操作。下面,我们来看一个 for-in 遍历数组元素的示例。当然,例子仅供参考。毕竟对于 for-in 循环来说,它最适用的场合依然是对象,以及用于常规 for 循环的数组。在下面的示例中,我们将遍历数组中的所有元素,并打印出当前所在的索引位置和元素值。

var a = [ 'a', 'b', 'c', 'x', 'y', 'z'];
var result = '\n';
for (var i in a) {
    result += 'index: ' + i + ', value: ' + a[i] + '\n';
}

        结果如下:

index: 0, value: a
index: 1, value: b
index: 2, value: c
index: 3, value: x
index: 4, value: y
index: 5, value: z
前端交流群: MVC前端网(menvscode.com)-qq交流群:551903636

邮箱快速注册

忘记密码