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区别的主要内容,如果未能解决你的问题,请参考以下文章