js中forin的⽤法
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
必选项。⼀个对象。
js原型和原型链的理解proName
必选项。⼀个属性名称的字符串值。
说明
如果 proName 存在于 object 中且可以使⽤⼀个 For…In 循环穷举出来,那么 propertyIsEnumerable 属性返回 true。如果 object 不具有所指定的属性或者所指定的属性不是可列举的,那么 propertyIsEnumerable 属性返回 false。典型地,预定义的属性不是可列举的,⽽⽤户定义的属性总是可列举的。
propertyIsEnumerable 属性不考虑原型链中的对象。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论