pwindy  
在完成任务的同时,还需要不断“复盘”,不论你多么的忙,都需要留下时间思考,可以思考哪些地方做的好,哪些地方我们可以改进,应该如何改进,注重总结才是王道

1.in/of对比

for...in...是es5出的循环方法,for...of...是es6推出的。两个都是迭代数据的。

  • for...in:以任意顺序迭代对象的可枚举属性。=> 根据key值来遍历
  • for...of...:遍历可迭代对象,定义要迭代的数据。

2.for...in...

//表现
let obj = {  a: 1, b: '2',  c: false, d: undefined,  e(){}, f: {  } };
obj.z = "zzz";
for(let key in obj){
  console.log(key);
}
//a  b  c  d e  f  z =>这说明for in 是根据key值遍历

2.1.mdn上对for...in...的解释

 mdn的解释,可以作如下理解:

  1. for...in...不推荐遍历有索引对象(即,数组)
  2. for...in...适合用作检测对象是否存在某属性值时
  3. for...in...循环会遍历所有可枚举属性,而在es5之前,所有给对象原型新添加的方法都是可枚举的

3.for...of...

//表现
let array = [false, 1,"2", undefined, {}, function(){}];
for (let item of  array){
   console.log(item);
}
//false, 1, 2, undefined,  {}, ƒ (){} => 不难看出

3.1.mdn上对for...of...的解释

 mdn的解释,可以作如下理解:

可迭代对象都可以使用for...of...遍历循环

 4.for...in...和for...of...使用区别

  • for...in...:遍历具有key值的对象
  • for...of...:遍历可迭代对象

 

参考---https://blog.csdn.net/weixin_44395929/article/details/109625882

posted on 2023-08-09 15:05  pwindy  阅读(372)  评论(0)    收藏  举报