关于javsacript中 for in遍历对象

1、关于for in语法

for ...  in语法主要用于遍历数组中的元素,或者遍历对象中的元素。
当使用for ... in 遍历对象属性时,原型链上的所有属性都将被遍历。

2、关于Object属性名

通常讲,javascript标示符名称必须由字母,下划线(_)或dolor符号 ($)开始,其他字符可以时字母,数字,下划线或dolor,但标识符不能时javascript关键字。
对于对象属性名,我实验的结果是:
对象属性名可以是1:下划线开始的字符串;2:数组开始的字符串;3:汉字;4:以上标识符规定范围内的字符串。

3、关于for in的一个坑

一般而言,我们使用for ... in循环遍历数组时,比如

var arr = [1,2,3,4];
for (var k in arr){
    alert(arr[k])
}

结果是依次弹出1、2、3、4。
同样,我们自然的认为for ... in遍历Object时也是按照属性出现的顺序来查找。就像下 main的代码:

var o = {
    'first':'first',
    'second':'second',
    'third':'third'
}

for (var k in o){
    alert(o[k])
}

会依次弹出‘first’,‘second’,‘third’。
这当然没错,不过,再试试下面的代码:

var o = {
    '01':'1',
    '2':'2',
    '今天':3
}

for (var k in o){
    alert(o[k])
}

结果怎样?2,1,3对不对?
这一次循环不是按照属性出现的瞬息来查找的。

这些代码在多种浏览器都出现一直都结果。我想大概时因为“Object是无序”来解释。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值