zoukankan      html  css  js  c++  java
  • 10th blog:For each···in / For···in / For···of

    1)For each ... in

    使用一个变量迭代一个对象的所有属性值,对于每一个属性值,有一个指定的语句块被执行。作为ECMA-357(E4X)标准的一部分,for each...in语句已被废弃,E4X中的大部分特性已被删除,但考虑到向后兼容,for each...in只会被禁用而不会被删除,可以使用ES6中新的for ... of语句来代替。

    语法:

    for each (variable in object) {
      statement
    }

    参数:

    variable:用来遍历属性值的变量,前面的var关键字是可选的.该变量是函数的局部变量而不是语句块的局部变量.
    object:该对象的属性值会被遍历.
    statement:遍历属性值时执行的语句. 如果想要执行多条语句, 请用({ ... }) 将多条语句括住.

    循环形式:

    For Each 元素 In 组合

    语句1

    语句2

    语句N

    Next [元素]

    描述:一些对象的内置属性是无法被遍历到的,包括所有的内置方法,例如String对象的indexOf方法。不过,大部分的用户自定义属性都是可遍历的。

    2)For···in

    以任意顺序遍历一个对象的可枚举属性。对于每个不同的属性,语句都会被执行。

    语法:

    for (variable in object) {...}

    参数:

    variable:在每次迭代时,将不同的属性名分配给变量。

    object:被迭代枚举其属性的对象。

    循环形式:

    描述:for...in 循环只遍历可枚举属性。像 Array和 Object使用内置构造函数所创建的对象都会继承自Object.prototypeString.prototype的不可枚举属性,例如Strings的 indexOf()方法或Object的toString()方法。循环将遍历对象本身的所有可枚举属性,以及对象从其构造函数原型中继承的属性(更接近原型链中对象的属性覆盖原型属性)。

    3)For···of

    for...of语句在可迭代对象(包括 ArrayMapSetStringTypedArray,arguments 对象等等)上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句。

    语法:

    for (variable of iterable) {
        //statements
    }

    参数:

    variable:在每次迭代中,将不同属性的值分配给变量。

    iterable:被迭代枚举其属性的对象。

    for与for in的区别:

    var array = ['a']

    //标准的for循环

    for (var i = 1; i < array.length; i++) {

    alert(array[i])

    }

    //for in循环

    for (var i in array) {

    alert(array[i])

    }

    -------------------------------------------------------------
    参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript
    -------------------------------------------------------------
  • 相关阅读:
    继承
    面向对象_封装练习
    ajax分页与组合查询配合使用
    Linq的分页与组合查询的配合使用
    发送邮件和数据导出
    GridView的使用
    母版页的使用
    DIV+CSS命名规范
    Ajax基础
    jQuery动画效果
  • 原文地址:https://www.cnblogs.com/Styleshah/p/9942710.html
Copyright © 2011-2022 走看看