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循环则完全修复了这些问题,它只循环集合本身的元素

转载于:https://www.cnblogs.com/QQBOSS/p/9943766.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值