还是把for in的问题记录下来

老早之前就看到过,通过prototype拓展过的Array数组会有一个问题,for-in的时候会把扩展进来的方法遍历出来,今天又忘了,把它记录下来。

         顺便挖了挖解决办法,最根本的方法是少用for in。

非得用的话,如果只需要遍历数组中的元素,用 for(var i in array)时,对i加一个判断是否为数字,这样就不会遍历到原型里面添加的方法或者属性。

        如果数组存在属性又存在原型属性,可以用hasOwnProperty来判断。


另外一个要注意的问题是,比如for(var i in array) 其中的每一个i都是字符串类型!类似于array['0'],array['1']的感觉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值