for..in 和 for..of的区别

in:

  • 支持IE6+(老)
  • 枚举对象
  • 枚举字符串(IE9+后支持)
  • 枚举数组,但是数组只身的方法,和原型上的方法也会枚举出来,(可以使用hasOwnProperty来判断是否原型是的对象,但是还是回有自身的属性遍历出来)
  • 补充:如果使用forEach来遍历数组,他不可以break或者return false

of:

  • ES6的时候引入(新)
  • 不可以迭代对象
  • 迭代数组,可以使用break或者return false 退出
  • 迭代字符串
  • 也可以迭代类数组(arguments),set,Map,genertors

参考

旭哥,MDN

 

你可能感兴趣的:(JS数组,for-in,for-of,循环,js)