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

Posted huluwaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了for...of和for..in区别相关的知识,希望对你有一定的参考价值。

for...of 是ES6新增的遍历方法,用来遍历具有 iterator 接口的数据,一个数据只有部署了Symbol.iterator属性才可以用for...of来遍历

for...of 循环可以使用的范围包括数组、Set 和 Map 结构、某些类似数组的对象(比如arguments对象、DOM NodeList 对象)、Generator 对象,以及字符串。

for...in遍历的是数组的索引(即键名),而for...of遍历的是数组元素值。

for...in可以遍历到object的原型方法属性,如果不想遍历原型方法和属性的话,可以在循环内部判断一下,hasOwnPropery方法可以判断某属性是否是该对象的实例属性

for (var key in myObject) {
  if(myObject.hasOwnProperty(key)){
    console.log(key);
  }
}

  

以上是关于for...of和for..in区别的主要内容,如果未能解决你的问题,请参考以下文章

for循环,for in和for of的区别

for in for of区别

JavaScript for in 和 for of 的区别

javascript总for of和for in的区别?

for...in 和 for...of 有什么区别

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