js 遍歷對(duì)象的屬性的代碼
更新時(shí)間:2011年12月29日 00:47:18 作者:
js 遍歷對(duì)象的屬性的代碼,遍歷出對(duì)象的屬性可以用for in語(yǔ)句使用方法
如:
Function.prototype.addMethod=function(methodName,func){
if(!this.prototype[methodName]){
this.prototype[methodName]=func;//給原型增加方法,此方法會(huì)影響到該類型的實(shí)例上
}
return this.prototype;//返回原型,此類型實(shí)例可以進(jìn)行鏈形調(diào)用
}
function CustomObject(name,value){
this.name=name || 'CustomeObject';
this.value=value || 0;
this.toString=function(){
return '[name:'+this.name+',value:'+this.value+']'
}
}
CustomObject.addMethod('testFun',function(){})
var obj=new CustomObject();
var info='';
for(var property in obj){
info+=property+" | ";
}
alert(info); // name | value | toString | testFun |
但此時(shí)for in 也把該對(duì)象所繼承于prototype對(duì)象中的屬性也遍歷出來(lái)了。如果要剔除它所繼承的屬性,可以用hasOwnProperty語(yǔ)句。如
Function.prototype.addMethod=function(methodName,func){
if(!this.prototype[methodName]){
this.prototype[methodName]=func;//給原型增加方法,此方法會(huì)影響到該類型的實(shí)例上
}
return this.prototype;//返回原型,此類型實(shí)例可以進(jìn)行鏈形調(diào)用
}
function CustomObject(name,value){
this.name=name || 'CustomeObject';
this.value=value || 0;
this.toString=function(){
return '[name:'+this.name+',value:'+this.value+']'
}
}
CustomObject.addMethod('testFun',function(){})
var obj=new CustomObject();
var info='';
for(var property in obj){
if(!obj.hasOwnProperty(property)) continue;
info+=property+" | ";
}
alert(info); // name | value | toString |
復(fù)制代碼 代碼如下:
Function.prototype.addMethod=function(methodName,func){
if(!this.prototype[methodName]){
this.prototype[methodName]=func;//給原型增加方法,此方法會(huì)影響到該類型的實(shí)例上
}
return this.prototype;//返回原型,此類型實(shí)例可以進(jìn)行鏈形調(diào)用
}
function CustomObject(name,value){
this.name=name || 'CustomeObject';
this.value=value || 0;
this.toString=function(){
return '[name:'+this.name+',value:'+this.value+']'
}
}
CustomObject.addMethod('testFun',function(){})
var obj=new CustomObject();
var info='';
for(var property in obj){
info+=property+" | ";
}
alert(info); // name | value | toString | testFun |
但此時(shí)for in 也把該對(duì)象所繼承于prototype對(duì)象中的屬性也遍歷出來(lái)了。如果要剔除它所繼承的屬性,可以用hasOwnProperty語(yǔ)句。如
復(fù)制代碼 代碼如下:
Function.prototype.addMethod=function(methodName,func){
if(!this.prototype[methodName]){
this.prototype[methodName]=func;//給原型增加方法,此方法會(huì)影響到該類型的實(shí)例上
}
return this.prototype;//返回原型,此類型實(shí)例可以進(jìn)行鏈形調(diào)用
}
function CustomObject(name,value){
this.name=name || 'CustomeObject';
this.value=value || 0;
this.toString=function(){
return '[name:'+this.name+',value:'+this.value+']'
}
}
CustomObject.addMethod('testFun',function(){})
var obj=new CustomObject();
var info='';
for(var property in obj){
if(!obj.hasOwnProperty(property)) continue;
info+=property+" | ";
}
alert(info); // name | value | toString |
相關(guān)文章
js實(shí)現(xiàn)文字無(wú)縫向上滾動(dòng)
本文主要分享了js實(shí)現(xiàn)文字無(wú)縫向上滾動(dòng)的示例代碼,具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02一起來(lái)看看JavaScript數(shù)據(jù)類型最詳解
這篇文章主要為大家詳細(xì)介紹了JavaScript數(shù)據(jù)類型,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-01-01

基于前端實(shí)現(xiàn)版本更新自動(dòng)檢測(cè)的流程步驟
在現(xiàn)代Web應(yīng)用中,為了提升用戶體驗(yàn)并確保系統(tǒng)的穩(wěn)定性和一致性,部署前端版本更新后及時(shí)提醒用戶進(jìn)行頁(yè)面刷新是至關(guān)重要的,所以本文給大家介紹了基于前端實(shí)現(xiàn)版本更新自動(dòng)檢測(cè)的流程步驟,需要的朋友可以參考下
2025-03-03 
JS在Chrome瀏覽器中showModalDialog函數(shù)返回值為undefined的解決方法
這篇文章主要介紹了JS在Chrome瀏覽器中showModalDialog函數(shù)返回值為undefined的解決方法,涉及javascript針對(duì)谷歌瀏覽器事件判定相關(guān)操作技巧,需要的朋友可以參考下
2016-08-08 
ECMAScript 創(chuàng)建自己的js類庫(kù)
ECMAScript中最有意思,最強(qiáng)大的地方在于函數(shù)。最進(jìn)在完善自己的js類庫(kù)的時(shí)候發(fā)現(xiàn)我們經(jīng)常在用函數(shù),但真的很少有人懂得ECMAScript函數(shù)功能
2012-11-11 
Javascript 判斷兩個(gè)IP是否在同一網(wǎng)段實(shí)例代碼
javascript功能的強(qiáng)大之處是我們大家有目共睹的,幾天小編向大家介紹Javascript 判斷兩個(gè)IP是否在同一網(wǎng)段,感興趣的朋友可以參考一下
2016-11-11 
微信小程序?qū)崿F(xiàn)側(cè)邊欄二級(jí)聯(lián)動(dòng)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)側(cè)邊欄二級(jí)聯(lián)動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
2022-07-07