for语句

for 语句 (JavaScript)

 

只要满足指定的条件,就执行一个语句块。

语法
 
 
 
 
for ([initialization]; [test]; [increment])
   statement 
参数
 
 
initialization

可选。一个表达式。该表达式在执行循环前仅被执行一次。

test

可选。布尔表达式。如果 test 为 true,则执行 statement如果 test 为 false,则终止循环。

increment

可选。一个表达式。在每次通过循环的结尾时执行该增量表达式。

statement

可选。如果 test 为 true,则执行一个或多个语句。可以是复合语句。

备注
 
 

在需要将循环执行已知次数时,通常使用 for 循环。 for 循环对于迭代数组以及执行顺序处理很有用。

条件表达式的测试发生在循环执行之前,因此 for 语句执行零次或多次。

在 for 循环语句块中的任何行上,都可以使用 break 语句来退出循环,或者可以使用 continue 语句将控制权移交给循环的下一迭代。

在下面的示例中,for 语句执行括起来的语句,如下所示:

  • 首先,计算变量 i 的初始值。

  • 然后,只要 i 的值小于或等于 9,就会执行 document.write 语句并重新计算 i。

  • 当 i 大于 9 时,条件变为 false 并且将控制权移交到循环外部。

 
// i is set to 0 at the start and is incremented by 1 at the
// end of each iteration.
// The loop terminates when i is not less than or equal to
// 9 before a loop iteration.
for (var i = 0; i <= 9; i++) {
   document.write (i);
   document.write (" ");
}

// Output: 0 1 2 3 4 5 6 7 8 9

for 语句的所有表达式都是可选的。在下面的示例中,for 语句创建一个无限循环,break 语句用于退出循环。

 
var j = 0;
for (;;) {
    if (j >= 5) {
        break;
    }
    j++;
    document.write (j + " ");
}

// Output: 1 2 3 4 5

for...in 语句 (JavaScript)

 

为一个对象的每个属性或一个数组的每个元素执行一个或多个语句。

语法
 
 
 
 
for (variable in [object | array]) {
    statements 
}
参数
 
 
variable

必需。一个变量,可以是 object 的任何属性名或 array 的任何元素索引。

objectarray

可选。要对其进行循环的对象或数组。

statements

可选。要为 object 的每个属性或 array 的每个元素执行的一个或多个语句。可以是复合语句。

备注
 
 

在循环的每个迭代开始时,variable 的值为 object 的下一个属性名或 array 的下一个元素索引。然后,可以将 variable 用于循环中的任何语句,以便引用 object 的属性或 array 的元素。

未以确定的方式分配对象的属性。不能按某个特定属性的索引指定该属性,而只能按该属性的名称指定它。

按元素顺序循环访问数组,即 0、1、2。

下面的示例阐释了 for...in 语句的用法,该语句将一个对象用作一个相关数组。

 
// Initialize object.
a = {"a" : "Athens" , "b" : "Belgrade", "c" : "Cairo"}

// Iterate over the properties.
var s = ""
for (var key in a) {
    s += key + ": " + a[key];
    s += "<br />";
    }
document.write (s);

// Output:
// a: Athens
// b: Belgrade
// c: Cairo

此示例阐释了如何使用 for ... in 语句来便循环访问具有 expando 属性的 Array 对象。

 
// Initialize the array.
var arr = new Array("zero","one","two");

// Add a few expando properties to the array.
arr["orange"] = "fruit";
arr["carrot"] = "vegetable";

// Iterate over the properties and elements.
var s = "";
for (var key in arr) {
    s += key + ": " + arr[key];
    s += "<br />";
}

document.write (s);

// Output:
//   0: zero
//   1: one
//   2: two
//   orange: fruit
//   carrot: vegetable

for...of 语句 (JavaScript)

 

对从可迭代对象中获取的迭代器的每个值执行一个或多个语句。

语法
 
 
 
 
for (variable of object) {
    statements 
}
参数
 
 
variable

必需。可为 object 的任何属性值的变量。

object

必需。 ArrayMapSet 等可迭代对象或实现 迭代器接口的对象。

statements

可选。要为 object 的每个值执行的一个或多个语句。可以是复合语句。

备注
 
 

在循环的每个迭代的开头,variable 的值是 object 的下一个属性值。

下面的示例阐释了如何使用数组上的 for...of 语句。

 
let arr = [ "fred", "tom", "bob" ];

for (let i of arr) {
    console.log(i);
}

// Output:
// fred
// tom
// bob

下面的示例阐释了如何使用 Map 对象上的 for...of 语句。

 
var m = new Map();
m.set(1, "black");
m.set(2, "red");

for (var n of m) {
  console.log(n);
}

// Output:
// 1,black
// 2,red
原文地址:https://www.cnblogs.com/wuchunlin/p/9944299.html