Heim >Web-Frontend >js-Tutorial >js-Code zum Durchlaufen der Eigenschaften eines Objekts

js-Code zum Durchlaufen der Eigenschaften eines Objekts

高洛峰
高洛峰Original
2017-01-14 11:16:161809Durchsuche

Zum Beispiel:

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 |

Aber zu diesem Zeitpunkt durchläuft for in auch die Attribute, die das Objekt vom Prototypobjekt geerbt hat. Wenn Sie die geerbten Eigenschaften entfernen möchten, können Sie die hasOwnProperty-Anweisung verwenden. Zum Beispiel

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 |

Weitere Artikel zum Thema JS-Code zum Durchlaufen der Eigenschaften von Objekten finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn