예:
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 (obj의 var 속성){
info =property " | ";
alert(info); // name | value | toString | testFun | 이번에는 in also 프로토타입 객체에서 객체가 상속한 속성도 순회합니다. 상속받은 속성을 제거하려면 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:' ]'
}
}
CustomObject.addMethod('testFun',function(){})
var obj=new CustomObject()
var info=''; for(var property in obj) {
if(!obj.hasOwnProperty(property)) continue;
info =property " | "
alert(info); |문자열