(for in)遍历键名和 (for of)遍历键值,这种说法严谨吗?

本文探讨了`for in`和`for of`在遍历数组和对象时的行为。`for in`主要用于遍历对象的可枚举属性,包括数组的索引,而`for of`遍历的是实现了迭代器接口的数据结构。对于数组,`for of`遍历的是元素值,而对于未定义迭代器的对象,会报错。总结指出,称`for in`遍历键名和`for of`遍历键值并不严谨,需结合具体数据结构和遍历方式理解。
摘要由CSDN通过智能技术生成


[1] const arr = [7, 8, 9];
const obj = {
  a: 4,
  b: 5,
  c: 6
};
[2] for (let v in arr){
 console.log(v);
}
// 0, 1, 2
[3 ]for (let v in obj){
 console.log(v);
}
// a, b, c
[4] arr.child = 'child';
[5] arr.__proto__.getChild = function () {
    return this.child;
     };
[6] Array.prototype.parent = 'parent';
[7] for (let v in arr){
        console.log(v);
     }
//  0, 1, 2, child, getChild, parent
[8]for (let v of arr){
       console.log(v);
    }
// 7, 8, 9
[9] for (let v of arr.values()){
       console.log(v);
    }
// 7, 8, 9
[10] for (let v of obj){
       console.log(v);
    }
// 报错 
[11] typeof arr.keys(); // 'object'
arr.keys() instanceof

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值