for···in和for···of的区别:
for···in遍历出来的是key值(即下标),for···of遍历出来的是value(即内容)值
var obj = [99,88,77]
for(let i in obj){
console.log(i) // 0,1,2
}
for(let i of obj){
console.log(i) //99,88,77
}
遍历对象相差不多,for···In遍历出的是属性名,for···of遍历出的是属性值
var obj = [a:1,b:2]
for(let i in obj){
console.log(i) // a,b
console.log(obj[i]) // 1,2
}
for(let i of obj){
console.log(i) // 报错
}
如果用for···of要遍历普通对象可以使用Object.keys
var obj = {a:1,b:2}
for(let k of Object.keys(obj)){
console.log(k) // a,b
console.log(obj[k]) // 1,2
}