js中for in的用法示例解析
更新時間:2013年12月25日 16:22:22 作者:
使用js的朋友對其中for in的并不陌生吧,下面用示例為大家介紹下其具體使用方法
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]);
}
這種方式進行循環(huán)列出的,不過有時候這種方式就不一定奏效了。
例如:
var a = {"first":1,"second":2,"third":3};
這個時候就只能用for in來窮舉了。
一個對象是否可以進行for in窮舉,我們可以通過propertyIsEnumerable屬性來判斷,說明如下:
propertyIsEnumerable 屬性
返回 Boolean 值,指出所指定的屬性是否為一個對象的一部分以及該屬性是否是可列舉的。
object.propertyIsEnumerable(proName)
參數(shù)
object
必選項。一個對象。
proName
必選項。一個屬性名稱的字符串值。
說明
如果 proName 存在于 object 中且可以使用一個 For…In 循環(huán)窮舉出來,那么 propertyIsEnumerable 屬性返回 true。如果 object 不具有所指定的屬性或者所指定的屬性不是可列舉的,那么 propertyIsEnumerable 屬性返回 false。典型地,預定義的屬性不是可列舉的,而用戶定義的屬性總是可列舉的。
propertyIsEnumerable 屬性不考慮原型鏈中的對象。
例如:
復制代碼 代碼如下:
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]);
}
這種方式進行循環(huán)列出的,不過有時候這種方式就不一定奏效了。
例如:
復制代碼 代碼如下:
var a = {"first":1,"second":2,"third":3};
這個時候就只能用for in來窮舉了。
一個對象是否可以進行for in窮舉,我們可以通過propertyIsEnumerable屬性來判斷,說明如下:
propertyIsEnumerable 屬性
返回 Boolean 值,指出所指定的屬性是否為一個對象的一部分以及該屬性是否是可列舉的。
復制代碼 代碼如下:
object.propertyIsEnumerable(proName)
參數(shù)
object
必選項。一個對象。
proName
必選項。一個屬性名稱的字符串值。
說明
如果 proName 存在于 object 中且可以使用一個 For…In 循環(huán)窮舉出來,那么 propertyIsEnumerable 屬性返回 true。如果 object 不具有所指定的屬性或者所指定的屬性不是可列舉的,那么 propertyIsEnumerable 屬性返回 false。典型地,預定義的屬性不是可列舉的,而用戶定義的屬性總是可列舉的。
propertyIsEnumerable 屬性不考慮原型鏈中的對象。
相關文章
Javascript下IE與Firefox下的差異兼容寫法總結
總結一部分IE和Firefox的javascript差異寫法,對于像書寫多瀏覽器兼容性更好的代碼,可以參考下。2010-06-06JavaScript中創(chuàng)建對象的7種模式詳解
本文主要介紹了JavaScript中創(chuàng)建對象的7種模式,具有很好的參考價值,下面跟著小編一起來看下吧2017-02-02bootstrap模態(tài)框嵌套、tabindex屬性、去除陰影的示例代碼
這篇文章主要介紹了bootstrap模態(tài)框嵌套、tabindex屬性、去除陰影,需要的朋友可以參考下2017-10-10Bootstrap 過渡效果Transition 模態(tài)框(Modal)
這篇文章主要介紹了Bootstrap 過渡效果Transition 模態(tài)框(Modal),非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03