js中for in的用法示例解析

(编辑:jimmy 日期: 2026/4/30 浏览:2)

for(var i=0;i<len;i++)这样的用法一般都可以用for in 来替代。
例如:
复制代码 代码如下:
var a = ["a","b","c"];
for(var el in a){
alert(a[el]);
}

这个就是穷举出a中的所有元素,当然上面这个例子是可以用
复制代码 代码如下:
for(var i=0,len=a.length;i<len;i++){
alert(a[i]);
}

这种方式进行循环列出的,不过有时候这种方式就不一定奏效了。
例如:
复制代码 代码如下:
var a = {"first":1,"second":2,"third":3};

这个时候就只能用for in来穷举了。

一个对象是否可以进行for in穷举,我们可以通过propertyIsEnumerable属性来判断,说明如下:
propertyIsEnumerable 属性
返回 Boolean 值,指出所指定的属性是否为一个对象的一部分以及该属性是否是可列举的。
复制代码 代码如下:
object.propertyIsEnumerable(proName)

参数
object
必选项。一个对象。

proName
必选项。一个属性名称的字符串值。

说明
如果 proName 存在于 object 中且可以使用一个 For…In 循环穷举出来,那么 propertyIsEnumerable 属性返回 true。如果 object 不具有所指定的属性或者所指定的属性不是可列举的,那么 propertyIsEnumerable 属性返回 false。典型地,预定义的属性不是可列举的,而用户定义的属性总是可列举的。
propertyIsEnumerable 属性不考虑原型链中的对象。
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。