1.for of 無(wú)法遍歷對(duì)象
var obj={
name:"jack",
age:18,
weight:120
}
for(let i in obj){
console.log(i,obj[i],"for in")
}
for(let j of obj){
console.log(j,obj[j],"for of")
}
打印后提示 obj is not iterable

遍歷對(duì)象
2.遍歷輸出結(jié)果不同
for in 遍歷數(shù)組的索引,for of直接遍歷數(shù)組的值
var arr=["jack","nick","neo","leo"]
for(let i in arr){
console.log(i)
}
console.log("----------------------------")
for(let j of arr){
console.log(j)
}

遍歷數(shù)組
遍歷字符串
let name="jacky"
for(var i in name){
console.log(i);
}
console.log('----------------------');
for(var j of name){
console.log(j);
}

遍歷字符串
3.for in 會(huì)遍歷自定義屬性,而for of不會(huì)
var arr = ["jack","nick","neo","leo"]
arr.name = "mike";
for(var i in arr){
console.log(i,arr[i]);
}
console.log('----------------------');
for(var j of arr){
console.log(j);
}
for in 輸出了name,而for of沒(méi)有輸出,可能是由于上面說(shuō)的for of無(wú)法輸出對(duì)象的原因?有錯(cuò)誤請(qǐng)大佬指出~謝謝!

遍歷自定義屬性