学习for in循环

来源:互联网 发布:节奏大师没有网络可用 编辑:程序博客网 时间:2024/05/29 15:09

for in循环可以将一个对象的所有属性名遍历出来

var Person={    name:"BurNing",    age:29,    job:"Carry"}for(var key in Person){    alert(key);//name,age,job}//数组对象var arr=["1","2","3"];for(var index in arr){    alert(index);//0,1,2 String类型的索引值;}

这种方法可以查找不是来自继承的属性
在for in循环内使用hasOwnProperty()方法

var Person={    name:"BurNing",    age:29,    job:"Carry"}for(var key in Person){    if(Person.hasOwnProperty(key))    alert(key);//name age job    }

在for in中 我们要是给数组加入一个属性,他会怎么样?

var arr=["1","2","3"];arr.job="carry"for(var index in arr){    alert(index);//0,1,2,job}    alert(arr.length);//3    alert(arr)1,2,3

数组的长度并没有变,用alert的方式你也得不到carry,用console.log却可以得到下面这个
这里写图片描述

ES6为我们提供了新的iterable 类型,其中有for of方法,得到的会是属性值的集合

var arr=["1","2","3"];arr.job="carry"for(var index of arr){    alert(index);//1,2,3}
原创粉丝点击