• 欢迎光临~

随笔:for in 和 for of的区别

开发技术 开发技术 2022-05-30 次浏览

百度前端面试题:for in 和 for of的区别详解以及为for in的输出顺序 - 知乎
以该页面为例,我稍微总结一点东西:

  1. 在这⾥我们把对象中的数字属性称为 「排序属性」,在V8中被称为 elements,字符串属性就被称为 「常规属性」, 在V8中被称为 properties。

  2. 对于arr=document.querySelectorAll('h1'),依次采取两种遍历的区别:
    for in是广义的,会输出arr的所有属性,包括下标,方法...
    而for of是狭义的,只输出下标对应的dom
    所以可以认为以下两种写法等效

for (const i in arr) {
      if(arr[i]instanceof HTMLElement)console.log(arr[i])
}

for (const i of arr) {
      console.log(i)
}

看懂的人请为我点赞吧

程序员灯塔
转载请注明原文链接:随笔:for in 和 for of的区别
喜欢 (0)