循环类型 | 数组 | 字符串 | 对象 |
---|---|---|---|
for…in… | 返回下标 | 返回下标 | 返回键名 |
for…of… | 返回数组元素 | 返回字符 | 报错 |
var arr = ['a','b','c']
var obj = {d:'D',f:'F'}
var str = 'ghi'
一、for… in
for… in …遍历数组,返回下标
for (let item in arr){
console.log(item) //0,1,2
}
for… in …遍历字符串,返回下标
for (let item in str){
console.log(item) //0,1,2
}
for… in …遍历对象,返回键名
for (let item in obj){
console.log(item) //d,f
}
二、for…of
for… of …遍历数组,返回数组元素
for (let item of arr){
console.log(item) //a,b,c
}
for… of …遍历字符串,返回字符
for (let item of str){
console.log(item) //g,h,i
}
for… of …遍历对象,报错
对象不是可迭代对象,所以不能对其使用for… of …
for (let item of obj){
console.log(item) //obj is not iterable
}