for、for in 、for of的区别

120 阅读1分钟
(1)for in 和for of 都可以遍历数组 for in遍历出的结果为数组的索引, for of遍历出的是数组的值,for in可以遍历对象, 遍历出的结果为对象的key,for of 不可以遍历对象。

原因主要如下: for in 可以遍历可枚举类型的数据 如:

  • 对象
  • 数组
  • 字符串 for of 可以遍历可迭代数据 如:
  • 数组
  • 字符串
  • Map
  • Set
(2)for in遍历对象时的顺序, 对于数字类型的属性 按照升序,其他属性按照在对象里面的顺序。

image.png

(3) for 与 for in 遍历对象的区别
  • for in遍历出数组自定义的属性

image.png -for in 对于未定的不显示 for会显示undefined

image.png

可见 for in 更适合比遍历对象