• for each ... in 、for ... in、for ... of


    for each … in

    在对象属性的所有值上迭代指定的变量。对于每个不同的属性,执行指定的语句。

    Syntax:

    for each (variable in object){

           statement

    }

    variable

    变量以迭代属性值,可选地使用var关键字声明。该变量是函数的本地变量,而不是循环。

    object

    迭代属性的对象。

    statement

    要为每个属性执行的语句。要在循环中执行多个语句,请使用block语句({ ... })对这些语句进行分组

    Examples:

    var sum = 0;

    var obj = {prop1: 5, prop2: 13, prop3: 8};

    for each (var item in obj) {

      sum += item;

    }

    console.log(sum); // logs "26", which is 5+13+8

     

    for … in

    以任意顺序迭代对象的可枚举属性。对于每个不同的属性,可以执行语句。

    Syntax:

    for (variable in object ) {

    }

    variable

    每次迭代都会为变量分配不同的属性名称。

    object

    迭代非Symbol可枚举属性的对象。

    Example:

    var string1 = "";

    var object1 = {a: 1, b: 2, c: 3};

     

    for (var property1 in object1) {

      string1 += object1[property1];

    }

     

    console.log(string1);

    // expected output: "123"

    for … of

    迭代可迭代对象(包括数组,类数组对象,迭代器和生成器)调用自定义迭代挂钩,并为每个不同属性的值执行语句

    for (variable of iterable) {

    statement

    }

    variable

    在每次迭代时,将不同属性的值分配给变量

    iterable

    迭代其可迭代属性的对象。

    Example:

    let iterable = [10, 20, 30];

    for (let value of iterable) {

      value += 1;

      console.log(value);

    }

    // 11

    // 21

    // 31

    let iterable = 'boo';

     

    for (let value of iterable) {

      console.log(value);

    }

    // "b"

    // "o"

    // "o"

  • 相关阅读:
    2016/3/10 Java 错题
    2016/3/9 Java 错题集
    Java Socket 编程实验总结
    CSU 1290
    CSU 1307
    CSU 1060
    Problem B SPOJ DCEPC11I
    activemq 学习系列(二) 常用配置
    activemq 学习系列(一) 详细入门使用
    MySql 用户创建与授权
  • 原文地址:https://www.cnblogs.com/lizhidage/p/9915346.html
Copyright © 2020-2023  润新知