Heading for the future

for in 和 for of 的区别

最近突然发现虽然整天做项目,但是基础的东西忘得越来越多了,所以我准备没事就回顾回顾基础知识,今天来回顾一下for in 和for of的区别

 

首先来看for in 

  for in 可以用来遍历数组,但是会有以下几个问题

  1.index索引为字符串型数字,不能直接进行几何运算

  2.遍历顺序有可能不是按照实际数组的内部顺序

  3.使用for in会遍历数组所有的可枚举属性,例如下面例子上的原型方法method和name属性都会被遍历出来

Array.prototype.method  = function(){
    console.log(this.length)
}

var myArray = [1,2,3,4,5]

myArray.name = "数组"
  for (var key in myArray) {
            console.log(key)
        }

 运送结果:

如果我们不想要method和name呢,这样的话我们可以使用ES6的for of

特别注意:for in 遍历的是数组的索引(即键名),for of遍历的是value值

 

posted @ 2018-11-27 08:15  一只菜鸟攻城狮啊  阅读(1609)  评论(2编辑  收藏  举报