js中for in的用法示例解析
更新時(shí)間:2013年12月25日 16:22:22 作者:
使用js的朋友對(duì)其中for in的并不陌生吧,下面用示例為大家介紹下其具體使用方法
for(var i=0;i<len;i++)這樣的用法一般都可以用for in 來(lái)替代。
例如:
var a = ["a","b","c"];
for(var el in a){
alert(a[el]);
}
這個(gè)就是窮舉出a中的所有元素,當(dāng)然上面這個(gè)例子是可以用
for(var i=0,len=a.length;i<len;i++){
alert(a[i]);
}
這種方式進(jìn)行循環(huán)列出的,不過(guò)有時(shí)候這種方式就不一定奏效了。
例如:
var a = {"first":1,"second":2,"third":3};
這個(gè)時(shí)候就只能用for in來(lái)窮舉了。
一個(gè)對(duì)象是否可以進(jìn)行for in窮舉,我們可以通過(guò)propertyIsEnumerable屬性來(lái)判斷,說(shuō)明如下:
propertyIsEnumerable 屬性
返回 Boolean 值,指出所指定的屬性是否為一個(gè)對(duì)象的一部分以及該屬性是否是可列舉的。
object.propertyIsEnumerable(proName)
參數(shù)
object
必選項(xiàng)。一個(gè)對(duì)象。
proName
必選項(xiàng)。一個(gè)屬性名稱的字符串值。
說(shuō)明
如果 proName 存在于 object 中且可以使用一個(gè) For…In 循環(huán)窮舉出來(lái),那么 propertyIsEnumerable 屬性返回 true。如果 object 不具有所指定的屬性或者所指定的屬性不是可列舉的,那么 propertyIsEnumerable 屬性返回 false。典型地,預(yù)定義的屬性不是可列舉的,而用戶定義的屬性總是可列舉的。
propertyIsEnumerable 屬性不考慮原型鏈中的對(duì)象。
例如:
復(fù)制代碼 代碼如下:
var a = ["a","b","c"];
for(var el in a){
alert(a[el]);
}
這個(gè)就是窮舉出a中的所有元素,當(dāng)然上面這個(gè)例子是可以用
復(fù)制代碼 代碼如下:
for(var i=0,len=a.length;i<len;i++){
alert(a[i]);
}
這種方式進(jìn)行循環(huán)列出的,不過(guò)有時(shí)候這種方式就不一定奏效了。
例如:
復(fù)制代碼 代碼如下:
var a = {"first":1,"second":2,"third":3};
這個(gè)時(shí)候就只能用for in來(lái)窮舉了。
一個(gè)對(duì)象是否可以進(jìn)行for in窮舉,我們可以通過(guò)propertyIsEnumerable屬性來(lái)判斷,說(shuō)明如下:
propertyIsEnumerable 屬性
返回 Boolean 值,指出所指定的屬性是否為一個(gè)對(duì)象的一部分以及該屬性是否是可列舉的。
復(fù)制代碼 代碼如下:
object.propertyIsEnumerable(proName)
參數(shù)
object
必選項(xiàng)。一個(gè)對(duì)象。
proName
必選項(xiàng)。一個(gè)屬性名稱的字符串值。
說(shuō)明
如果 proName 存在于 object 中且可以使用一個(gè) For…In 循環(huán)窮舉出來(lái),那么 propertyIsEnumerable 屬性返回 true。如果 object 不具有所指定的屬性或者所指定的屬性不是可列舉的,那么 propertyIsEnumerable 屬性返回 false。典型地,預(yù)定義的屬性不是可列舉的,而用戶定義的屬性總是可列舉的。
propertyIsEnumerable 屬性不考慮原型鏈中的對(duì)象。
相關(guān)文章
原生js實(shí)現(xiàn)密碼強(qiáng)度驗(yàn)證功能
這篇文章主要為大家詳細(xì)介紹了原生js實(shí)現(xiàn)密碼強(qiáng)度驗(yàn)證功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03Javascript下IE與Firefox下的差異兼容寫(xiě)法總結(jié)
總結(jié)一部分IE和Firefox的javascript差異寫(xiě)法,對(duì)于像書(shū)寫(xiě)多瀏覽器兼容性更好的代碼,可以參考下。2010-06-06微信小程序?qū)W習(xí)筆記之函數(shù)定義、頁(yè)面渲染圖文詳解
這篇文章主要介紹了微信小程序?qū)W習(xí)筆記之函數(shù)定義、頁(yè)面渲染,結(jié)合實(shí)例形式較為詳細(xì)的分析了微信小程序中函數(shù)的定義、生命周期、模板調(diào)用、樣式控制等操作技巧,并配合圖文形式進(jìn)行了詳細(xì)說(shuō)明,需要的朋友可以參考下2019-03-03JavaScript中創(chuàng)建對(duì)象的7種模式詳解
本文主要介紹了JavaScript中創(chuàng)建對(duì)象的7種模式,具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02bootstrap模態(tài)框嵌套、tabindex屬性、去除陰影的示例代碼
這篇文章主要介紹了bootstrap模態(tài)框嵌套、tabindex屬性、去除陰影,需要的朋友可以參考下2017-10-10Bootstrap 過(guò)渡效果Transition 模態(tài)框(Modal)
這篇文章主要介紹了Bootstrap 過(guò)渡效果Transition 模態(tài)框(Modal),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03