首頁  >  文章  >  web前端  >  js 遍歷物件的屬性的程式碼

js 遍歷物件的屬性的程式碼

高洛峰
高洛峰原創
2017-01-14 11:16:161743瀏覽

如: 

Function.prototype.addMethod=function(methodName,func){ 
if(!this.prototype[methodName]){ 
this.prototype[methodName]=func;//给原型增加方法,此方法会影响到该类型的实例上 
} 
return this.prototype;//返回原型,此类型实例可以进行链形调用 
} 
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 |

但此時for in 也把該物件所繼承於prototype物件中的屬性也遍歷出來了。如果要剔除它所繼承的屬性,可以用hasOwnProperty語句。如 

Function.prototype.addMethod=function(methodName,func){ 
if(!this.prototype[methodName]){ 
this.prototype[methodName]=func;//给原型增加方法,此方法会影响到该类型的实例上 
} 
return this.prototype;//返回原型,此类型实例可以进行链形调用 
} 
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 |

更多js 遍歷物件的屬性的程式碼相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn