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
}
本文探讨了JavaScript中for-in循环的应用,包括遍历对象属性、数组索引及使用hasOwnProperty方法过滤继承属性。同时介绍了ES6新增的for-of循环,用于遍历数组等iterable对象的属性值。
1万+

被折叠的 条评论
为什么被折叠?



