forEach、for...of...、for...in... 之间的区别和联系

forEach

  • 只能用作遍历数组,不能遍历对象
  • 因为他是一个回调,所以不能使用break,return或continue来中断运行,一旦遍历就会遍历整个数组

for...of...

  • 只能用作遍历数组,不能遍历对象
  • 是循环,所以可以使用break,return或者continue来中断

for...in...

  • 用作遍历对象
  • 也可以遍历数组,但是不推荐遍历数组,因为迭代的时候不一定是按照原顺序进行的,这无疑会影响数组的下标
  • 不仅会遍历对象自身的属性,还会遍历对象原型上的属性,这也是它和Object.keys的区别
上一篇:遍历数列


下一篇:map和forEach的区别