欢迎光临
我们一直在努力

ES6for of用法,of与for的用法以及区别

前言: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){ 便宜香港vps 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进行输出。

?

19261140

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。