For example:
Function.prototype.addMethod=function(methodName, func){
if(!this.prototype[methodName]){
this.prototype[methodName]=func;//Add a method to the prototype, this method will affect instances of this type
}
return this.prototype;//Return prototype, this type instance can be called in a chain
}
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 |
But at this time for in also The attributes inherited by the object from the prototype object are also traversed. If you want to remove the properties it inherits, you can use the hasOwnProperty statement. For example,
Function.prototype.addMethod=function(methodName,func ){
if(!this.prototype[methodName]){
this.prototype[methodName]=func;//Add a method to the prototype, this method will affect instances of this type
}
return this.prototype;//Return prototype, this type of instance can be called in a chain
}
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 |
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn