前言: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: },
{ name:'freddy', age: },
{ name:'mike', age: },
{ name:'james', age: }
];
for(var item of arr){
console.log(item.name,item.age);
}

输出结果:

二、与for in 区别

区别①:for of无法循环遍历对象

var userMsg = {
nick: {
name: 'nick',
age: ,
sex: '男'
},
freddy: {
name: 'freddy',
age: ,
sex: '男'
}
}; for(var i1 in userMsg){
console.log(i1);
for(var i2 in userMsg[i1]){
console.log(i2+': '+userMsg[i1][i2]);
}
}
console.log('-----------分割线-----------');
for(var item of userMsg){
console.log(item);
}

输出结果:

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

var arr = ['nick','freddy','mike','james'];
for(var i in arr){
console.log(i);
}
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 i in arr){
console.log(i+': '+arr[i]);
}
console.log('-----------分割线-----------');
for(var item of arr){
console.log(item);
}

输入结果:

给数组添加一个自定义属性name,并且赋值"数组"。然后进行遍历输出的,会发现新定义的属性也被for in输出来了,而for of并不会对name进行输出。

最新文章

  1. BestCoder Round #90
  2. HTML 的 meta 标签
  3. C # 数据绑定(1)——将DataTabel的data添加ListView
  4. Conjugate prior relationships
  5. iphone dev 入门实例1:Use Storyboards to Build Table View
  6. 还是说Memory Model,gcc的__sync_synchronize真是太坑爹了
  7. 数据挖掘经典书籍[ZZ]
  8. Application to find the maximum temperature in the weather dataset
  9. 遭遇mediumint上限
  10. Ansible(二) - 配置及命令简介
  11. iOS中 百度地图详解 韩俊强的博文
  12. mac 下 tomcat7的安装
  13. 查看Linux机器名
  14. Node post请求 通常配合ajax
  15. BZOJ3175[Tjoi2013]攻击装置——二分图最大独立集
  16. 设置将Maven的jar包发布到lib
  17. [转]Android Service完全解析,关于服务你所需知道的一切
  18. C json实战引擎 三 , 最后实现部分辅助函数
  19. React中静态类型校验 - PropTypes
  20. 题解 P1339 【[USACO09OCT]热浪Heat Wave】

热门文章

  1. POJ 4007 Flood-it!
  2. 继承—Music
  3. Asp.Net中使用水晶报表(中)
  4. Adobe 2015 CC update (Windows/Mac OS) 独立升级包下载 Adobe Photoshop CC (Windows 32bit)
  5. Python学习笔记(4)--数据结构之元组tuple
  6. CodeForces 400A Inna and Choose Options
  7. 【转】C#中RSA加密解密和签名与验证的实现
  8. 已知二叉树的中序序列为DBGEAFC,后序序列为DGEBFCA,给出相应的二叉树
  9. 最简单的HTML5游戏——贪吃蛇
  10. UITextField监控文字变化方法