Such as:
Copy Code code as follows:
Function.prototype.addmethod=function (Methodname,func) {
if (!this.prototype[methodname]) {
This.prototype[methodname]=func;//adds a method to the prototype that affects the instance of the type
}
Return this.prototype;//Returns the prototype, this type instance can be called by 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, in obj) {
info+=property+ "| ";
}
alert (info); name | Value | toString | Testfun |
However, for-in also iterates through the attributes that the object inherits from the prototype object. You can use the hasOwnProperty statement if you want to remove the property that it inherits. Such as
Copy Code code as follows:
Function.prototype.addmethod=function (Methodname,func) {
if (!this.prototype[methodname]) {
This.prototype[methodname]=func;//adds a method to the prototype that affects the instance of the type
}
Return this.prototype;//Returns the prototype, this type instance can be called by 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, in obj) {
if (!obj.hasownproperty (property)) continue;
info+=property+ "| ";
}
alert (info); name | Value | toString |