zoukankan      html  css  js  c++  java
  • For语句的衍生对象

    在js中一般使用的循环有两种:

    1.常规的for(var i=0;i<length;i++)

    2.for-in:for(var item in list)

    3.for of

    描述
    对应于一个对象的每个属性,或一个数组的每个元素,执行一个或多个语句。 
    语法
    for (variable in [object | array])
        statement 
    for 语句的语法组成如下: 

    部分 描述 
    variable 一个变量,它可以是 object 的任一属性或 array 的任一元素。  
    object, array 要在其上遍历的对象或数组。 
    statement 相对于 object 的每个属性或 array 的每个元素,都要被执行的语句。可以是复合语句。 


    说明
    在循环的每次迭代前,variable 被赋予 object 的下一个属性或 array 的下一个元素。然后可以在循环内的任一语句中使用它,就好像正在使用 object 的该属性或 array 的该元素一样。
    当在一个对象上迭代时,没有办法决定或控制把对象的成员赋给 variable 的次序。在数组内将按元素的次序执行迭代,也就是,0、1、2、……

    下面示例说明了 for ... in 语句的用法,它把一个对象用作一个联合数组: 

    function ForInDemo()
    {
      // 创建某些变量。
      var a, key, s = "";
      // 初始化对象。
      a = {"a" : "Athens" , "b" : "Belgrade", "c" : "Cairo"}
      // 迭代属性。
      for (key in a)
      {
         s += a[key] + "<BR>";
      }
      return(s);
    }

     
    注意  使用 enumerator 对象来迭代集合的成员,for … in循环由于历史遗留问题,它遍历的实际上是对象的属性名称。一个Array数组实际上也是一个对象,它的每个元素的索引被视为一个属性。

     

    for … of循环是ES6引入的新的语法,用for … of循环遍历集合,用法如下:

    var a = ['A', 'B', 'C'];
    var s = new Set(['A', 'B', 'C']);
    var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
    for (var x of a)
    { 遍历Array alert(x);'A', 'B', 'C' }
    for (var x of s)
    {
    遍历Set alert(x);A', 'B', 'C' }
    for (var x of m)
    {
    遍历Map alert(x[0] + '=' + x[1]);1='x',2='y',3='z' }

    for … of循环则完全修复了这些问题,它只循环集合本身的元素

  • 相关阅读:
    Jquery 判断值是否存在于数组之内
    Linux 拷贝有更改的文件
    Thinkphp [美味]常用代码
    Oracle基础知识:DECODE、NVL
    安装配置svn
    搭建LAMP环境以及shell脚本搭建(yum安装)
    Jmeter接口测试webservice
    Jmeter插件安装和使用
    Jmeter中java接口测试
    Jmeter中聚合报告吞吐量的计算
  • 原文地址:https://www.cnblogs.com/QQBOSS/p/9943766.html
Copyright © 2011-2022 走看看