2013-05-17 5 views
0

프로토 타입을 사용하여 객체를 확장합니다. 내부의 중첩 된 함수를 사용하는 것은 상속 된 객체를 참조하는 것이 아니라 함수 자체를 참조합니다. ,Javascript : 프로토 타입 내부에서이 프로토 타입에 액세스

var oSausage=function() { 
    this.preference='hotdog'; 
} 

oSausage.prototype.hungry={ 
    getPreference:function() { 
     console.log(this.preference) 
    }, 
    another:function() { 

    }, 
    ..... 
} 

확장 된 객체를 참조 할 수있는 방법이 있나요 :

내가 확장하려고 플러그인은 이미 '배고픈'새로운 객체를 정의 할 필요가 프로토 타입의 구현이 소시지?

답변

1

여기 핵심 문제는 hungry 개체가 oSausage 개체와 독립적이라는 것입니다. 다른 객체도 참조를 소유 할 수 있습니다. 모든 oSausage은 그것에 대한 참조이므로 귀하의 hugry 객체는 소유자에 대한 '인식'이 없습니다.

언제든지 참조 할 수 있습니다. 개체 자체에 기능 oSausage을 의미하지만() getPreference 내부

oSausage.prototype.hungry={ 
    sausage:oSausage, 
    getPreference:function() { 
     console.log(this.sausage.hotdog) 
    }, 
    another:function() { 

    }, 
    ..... 
} 
+0

this.sausage :

당신은 직접 oSausage.hotdog을하거나 뭔가를 할 수 있습니다. 오브젝트에 대한 속성에 액세스하고 싶습니다. 그렇게 할 기회가 있습니까? – campari

+0

@campari 내가 무슨 뜻인지 이해가되는지 보자. 모든 oSausage 객체는 하나의 배고픈 객체를 공유한다.이 객체는 호출 될 때 oSausage 객체를 호출하는 특정 속성에 액세스해야한다. –

+0

내가 당신의 요점을 잡으면 확실하지 않다 - 내 영어가 끔찍하다 – campari

관련 문제