for…in
- for … in 如果是对象,则循环的是键;如果是数组,则循环的是下标。
let arr = ["a","b","c","d"];
let obj = {
a:1,
b:2,
c:3,
}
for(let attr in arr){
console.log(attr); //0,1,2,3
}
for(let objVal in obj){
console.log(objVal); // a,b,c
}
for…of
- 如果是对象,不可循环(没有Symbol.iterator属性);如果是数组,则循环的是值。
let arr = ["a","b","c","d"];
let obj = {
a:1,
b:2,
c:3,
}
for(let val of arr){
console.log(val); //a,b,c,d
}
for(let val of obj){
console.log(val); //Uncaught TypeError: obj is not iterable
}