for in 和 for of 的区别

for of 和 for in都是用来遍历的属性

区别:

  1. for...in 语句用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。
  2. for in得到对对象的key或数组,字符串的下标
  3. for offorEach一样,是直接得到值
  4. for of不能用于对象

两者对比

1.遍历对象

//for...of..遍历对象会报错 他遍历,需要遍历器Iterator
原因 https://blog.csdn.net/WDCCSDN/article/details/81076397?ops_request_misc=&request_id=&biz_id=102&utm_term=%E4%B8%BA%E4%BB%80%E4%B9%88%20for..of...%E4%B8%8D%E8%83%BD%E9%81%8D%E5%8E%86%E5%AF%B9%E8%B1%A1&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-81076397.142^v68^control,201^v4^add_ask,213^v2^t3_esquery_v2&spm=1018.2226.3001.4187
const obj = {
        a: 1,
        b: 2,
        c: 3
    }
    for (let i in obj) {
        console.log(i)    //输出 : a   b  c
    }
    for (let i of obj) {
        console.log(i)    //输出: Uncaught TypeError: obj is not iterable 报错了
    }
  //可以这样写
for( var key of Object.key(obj)){
console.log(key + ":" +obj[key])
}
  

2.遍历数组

   const arr = ['a', 'b', 'c']
   // for in 循环
   for (let i in arr) {
       console.log(i)         //输出  0  1  2
   }
   
   // for of
   for (let i of arr) {
       console.log(i)         //输出  a   b   c
   }

 

posted @ 2022-12-09 11:43  挖眼猪  阅读(126)  评论(0)    收藏  举报