for···in和for···of的区别:
1、从遍历数组角度来说,for···in遍历出来的是key(即下标),for···of遍历出来的是value(即数组的值)
var arr = [99,88,66,77];
for(let i in arr){
console.log(i);
}
for(let i of arr){
consoel.log(i);
}
2、从遍历字符串的角度来说,同数组一样。
3、从遍历对象的角度来说,for···in会遍历出来的为对象的key,但for···of会直接报错
var obj = {name:"Bob",age:25};
for(var i in obj){
console.log(i)
}
for(var i of obj){
console.log(i)
}
4、如果要使用for…of遍历普通对象,需要配合Object.keys()一起使用
var person={
name:'coco',
age:22,
locate:{
country:'China',
city:'beijing',
}
}
for(var key of Object.keys(person)){
console.log(key+": "+person[key]);
}