簡單的看幾個例子就能大致明白它們的區(qū)別
let arr = [1,2,3]
for(let a in arr){
console.log("for in",a);
}
console.log('------------------');
for(let b of arr){
console.log("for of",b);
}
//for in 0
//for in 1
//for in 2
//------------------
//for of 1
//for of 2
//for of 3
通過上面來遍歷數(shù)組發(fā)現(xiàn),結(jié)果不一樣,for in 打印出的是下標(biāo)index
for of 打印的是值
那么這就簡單了,for in適用于對象,for of 適用于數(shù)組
這是因?yàn)閒or...in循環(huán)出的是key唯咬,for...of循環(huán)出的是value
如果用for of 遍歷對象會報(bào)錯,for of 遍歷對象的迭代器的values炼吴。
知道了for of 的用法那么對于以后的數(shù)組的遍歷可以不再使用以前的方法了
let arr = [1,2,3,4]
for ( var i = 0 ;i < arr.length;i++){
console.log(i); //1,2,3,4
}
for(var i of arr){
console.log(i);//1,2,3,4
}