我是靠谱客的博主 机灵蜗牛,这篇文章主要介绍【ES6】for of用法,现在分享给大家,希望可以做个参考。

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

一、使用例子

使用例子(一)

复制代码
1
2
3
4
var arr = ['nick','freddy','mike','james']; for(var item of arr){ console.log(item); }

输出结果:

遍历数组里的每一项。

 

二、使用例子(二)

复制代码
1
2
3
4
5
6
7
8
9
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无法循环遍历对象

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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); }

输出结果:

 

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

复制代码
1
2
3
4
5
6
7
8
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不会

复制代码
1
2
3
4
5
6
7
8
9
10
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进行输出。

 

最后

以上就是机灵蜗牛最近收集整理的关于【ES6】for of用法的全部内容,更多相关【ES6】for内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(109)

评论列表共有 0 条评论

立即
投稿
返回
顶部