【ES6】for of用法

前言:for of是ES6新增的循环方法。前面已经说到了 【JavaScript】for、forEach 、for in、each循环详解。那for of又是怎么使用的?

一、使用例子
使用例子(一)

var arr = ['nick','freddy','mike','james'];
for(var item of arr){    
    console.log(item);
}
输出结果:

遍历数组里的每一项。

 

二、使用例子(二)

var arr = [
    { name:'nick', age:18 },
    { name:'freddy', age:24 },
    { name:'mike', age:26 },
    { name:'james', age:34 }
];
for(var item of arr){    
    console.log(item.name,item.age);
}
输出结果:

遍历数组里的每一项。 

 

二、与for in 区别
区别①:for of无法循环遍历对象

var userMsg = {
    0: 'nick',
    1: 'freddy',
    2: 'mike',    
    3: 'james'
};
 
for(var key in userMsg){
    console.log(key, userMsg[key]);    
}
console.log('-----------分割线-----------');
for(var item of userMsg){    
    console.log(item);
}
输出结果:

 

区别②:遍历输出结果不同

var arr = ['nick','freddy','mike','james'];
for(var key in arr){
    console.log(key);    
}
console.log('-----------分割线-----------');
for(var item of arr){    
    console.log(item);
}
输入结果:

不难看出,for in循环遍历的是数组的键值(索引),而for of循环遍历的是数组的值。

 

区别③:for in 会遍历自定义属性,for of不会

var arr = ['nick','freddy','mike','james'];
arr.name = "数组";
 
for(var key in arr){
    console.log(key+': '+arr[key]);    
}
console.log('-----------分割线-----------');
for(var item of arr){    
    console.log(item);
}
输入结果:

给数组添加一个自定义属性name,并且赋值"数组"。然后进行遍历输出的,会发现新定义的属性也被for in输出来了,而for of并不会对name进行输出。
————————————————
版权声明:本文为CSDN博主「汪小穆」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/w390058785/article/details/80522383

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值