2013-05-17 62 views
0

我使用prototype擴展對象。使用這個內部嵌套函數並不是指繼承的對象,而是指向函數本身。Javascript:訪問此內部原型

插件我儘量延長有原型的實現已經所以有必要定義一個新對象「餓」:

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

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

    }, 
    ..... 
} 

有沒有辦法來指代擴展的對象,即oSausage?

回答

1

這裏的核心問題是hungry對象獨立於oSausage之一。其他對象也可以擁有對它的引用。所有oSausage都有其參考,因此您的hugry對象對其所有者沒有「意識」。

你可以隨時保持對它的引用。

您可以做oSausage.hotdog直接,或做類似:

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

    }, 
    ..... 
} 
+0

this.sausage內getPreference()是指功能oSausage而不是對象本身。我想訪問對象的屬性 - 你有機會這樣做嗎? – campari

+0

@campari讓我看看我是否理解你的意思,所有的oSausage對象共享一個飢餓的對象,它具有的功能在調用時應該訪問特定的調用oSausage對象的屬性? –

+0

不知道我是否抓住了你的觀點 - 我的英語很糟糕 – campari