js------关于 for of 和 for in的区别

遍历数组通常使用for循环,ES5的话也可以使用forEach。

1.使用for in 也可以遍历数组但会存在以下几种问题:

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

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

  3.使用for in会遍历数组所有的可枚举属性,包括原型。例如上栗的原型方法method和name属性

for in 更适合遍历对象,不要使用for in 遍历数组。

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

遍历对象,通常用for in 来遍历对象的键名

Object.prototype.method=function(){

  console.log(this);
}
var myObject={
  a:1,
  b:2,
  c:3
}
for (var key in myObject) {
  console.log(key);
}
2.for of遍历的只是数组内的元素,而不包括数组的原型属性method和索引name
 
posted @ 2017-09-29 14:53  燃烧的果冻  阅读(186)  评论(0)    收藏  举报