学习for in循环

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
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值