- for-in: 遍历对象的key或者数组的index。
var dog = {name: '小白', age: '2', sex: '女'};
for(var key in dog){
document.write(key+' ');
}
//name age sex
var arr = [4,8,7];
for(var index in arr){
document.write(index + ' ');
}
//0 1 2
- for-of: 遍历数组的value,遍历new Map()的key和value, 不能遍历普通对象的value。
var arr = [4,8,7];
for(var value in arr){
document.write(value + ' ');
}
//4 7 8
var dogMap = new Map();
dogMap.set('小白',{name: '小白', age: '2', sex: '女'});
dogMap.set('小黑',{name: '小黑', age: '3', sex: '男'});
for(var [key,value] of dogMap){
console.log(key + 'is' + value.age +'years old.');
}
//小白is2years old.
//小黑is3years old.
var dog = {name: '小白', age: '2', sex: '女'};
for(var value in dog){
document.write(value+' ');
}
//TypeError: undefined is not a function (near '...value of dog...')
- for-in 的使用注意事项:
遍历数组最好不用,而是直接用 for循环;
in是JavaScript中的一个操作符,用来判断某个属性是否属于某个对象,判断的属性可以是对象自身的属性,也可以使通过prototype 继承的属性。详细解析转自:https://blog.csdn.net/Searchin_R/article/details/82927889