for in
和 for of
的异同点
比较 | for in |
for of |
---|---|---|
不同点 | 可以遍历普通对象 遍历出数组的原型对象 可以遍历出数组自身属性 遍历出来的值是 key 不可以遍历 map/set 不可以迭代 generators IE 支持 |
不能遍历普通对象 不会遍历出原型对象 不会遍历自身属性 遍历出来的值是 value 可以遍历 map/set 可以迭代 generators IE 不支持 |
相同点 | 可以遍历数组 可以 break 中断遍历 |
可以遍历数组 可以 break 中断遍历 |
- 示例
const obj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5
}
const arr1 = [1, 2, 3, 4, 5, 6, 7, 8]
for (let i in obj) {
console.log('for in break before', i, obj[i])
if (obj[i] > 3) {
break
}
console.log('for in break after', i, obj[i])
}
console.log('------')
for (let i of arr1) {
console.log('for of break before', i)
if (i > 3) {
break
}
console.log('for of break after', i)
}
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END