您的位置:首页 > Web前端 > JavaScript

javascript for...in 和 for of区别

2016-05-23 10:12 357 查看

for in 和 for of

for in

遍历对象的可枚举属性,以及对象从其构造函数原型中继承的属性,一般不建议使用for…in遍历数组,因为顺序是不确定的,取决于宿主环境。

for of

遍历可遍历对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)的属性值

for in遍历数组和对象

for in 遍历的是对象的属性。

/**
遍历对象
*/
var person = {"name":"t-mac",age:39};
for(var property in person){
console.log(property);//name、age
}


/**
* 遍历数组
* @type {Array}
*/
var arr =[1,2,3,4];
arr.name='junwang';
for(var index in arr){
console.log(arr[index]);//1 2 3 4 junwang 将添加的属性也遍历出来了
}


for of 遍历数组

for of遍历属性值

var arr =[1,2,3,4];
arr.name='junwang';
for(var value of arr){
console.log(value);// 1 2 3 4
}


总结

for in一般用来遍历对象的可枚举属性,并且一般不用来遍历数组,因为遍历顺序取决于宿主环境

for of一般用来遍历Array、Set、Map等可遍历对象的属性值

参考

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/for…in

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/for…of
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: