JavaScript循环语句

while

条件检测会在每次 statement 执行之前发生。条件检测为 true 才会执行 statement。

var n = 0;
var x = 0;
while (n < 3) {
  n++;
  x += n;
}
do while

statement 在条件检测之前会执行一次。直到条件检测为false则结束循环。

do {
  i += 1;
  console.log(i);
} while (i < 5);
for
for ([initialExpression]; [condition]; [incrementExpression]) {
  statement
}

当一个for循环执行的时候,会发生以下事件:

  1. 如果有初始化表达式initialExpression,它将被执行。这个表达式通常会初始化一个或多个循环计数器,但语法上是允许一个任意复杂度的表达式的。这个表达式也可以声明变量。
  2. 计算condition表达式的值。如果condition的值是true,循环中的statement会被执行。如果condition的值是false,for循环终止。如果condition表达式整个都被省略掉了,condition的值会被认为是true。
  3. 循环中的 statement被执行。如果需要执行多条语句,可以使用块 ({ ... })来包裹这些语句。
  4. 如果有更新表达式incrementExpression,执行它.
  5. 然后流程回到步骤2。
for in

循环一个对象所有可枚举的属性。i是对象的key值。

for of

在可迭代的对象上创建一个循环(包括ArrayMapSet, 参数对象 arguments 等等) 。i 是可迭代对象的value值。

for of 和 for in 的区别

for...in 遍历的结果是数组元素的下标, for...of 遍历的结果是数组元素的值:

let arr = [3, 5, 7];
arr.foo = "hello";

for (let i in arr) {
   console.log(i); // logs "0", "1", "2", "foo"
}

for (let i of arr) {
   console.log(i); // logs "3", "5", "7" // 注意这里没有 hello
}
break

可用于:whiledo-whileforswitch 。

它会立即终止并退出整个循环,把控制权交回这些结构后面的语句。

for (i = 0; i < a.length; i++) {
  if (a[i] == theValue) {
    break;
  }
}
continue

可用于:while,do-while,for。

跳过当前循环代码块的剩余部分并进入下一循环。

posted on 2019-03-16 07:55  dawnxuuu  阅读(70)  评论(0编辑  收藏  举报

导航