Javascript:访问此内部原型

Javascript:访问此内部原型,javascript,prototype,this,Javascript,Prototype,This,我使用prototype扩展了一个对象。在嵌套函数中使用此函数并不是指继承的对象,而是指函数本身 我尝试扩展的插件已经有了原型的实现,因此需要定义一个新对象“饥饿”: var oSausage=function() { this.preference='hotdog'; } oSausage.prototype.hungry={ getPreference:function() { console.log(this.preference) },

我使用prototype扩展了一个对象。在嵌套函数中使用此函数并不是指继承的对象,而是指函数本身

我尝试扩展的插件已经有了原型的实现,因此需要定义一个新对象“饥饿”:

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

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

    },
    .....
}

有没有一种方法可以引用被扩展的对象,即osaausage?

这里的核心问题是
饥饿的
对象独立于
osaausage
对象。其他对象也可以拥有对它的引用。所有的
osaausage
都是对它的引用,因此您的
hugry
对象对其所有者没有“意识”

你可以随时引用它

您可以直接执行osaausage.hotdog,也可以执行以下操作:

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

    },
    .....
}

这里的核心问题是,
hunger
对象独立于
osaausage
对象。其他对象也可以拥有对它的引用。所有的
osaausage
都是对它的引用,因此您的
hugry
对象对其所有者没有“意识”

你可以随时引用它

您可以直接执行osaausage.hotdog,也可以执行以下操作:

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

    },
    .....
}

this.getPreference()引用函数用法,但不引用对象本身。我想访问对象的属性-你看到这样做的机会了吗?@campari让我看看我是否理解你的意思,所有OSAUSSION对象共享一个饥饿对象,该对象具有调用时应访问特定调用OSAUSSION对象属性的函数?(编辑:按回车键)oSausage只调用一次,饥饿对象的函数应该访问oSausage的属性:var x=new oSausage();x、 饥饿;我想避免这样的事情:OSAUSSION.prototype.getPreference=function(){console.log(this.preference)},因为需要用很多函数扩展OSAUSSION。@campari我认为你在混合一些东西。如果将一个对象附加到构造函数的原型,则使用它创建的所有对象都将共享该对象。如果您想让每个
osaausage
拥有一个
hungry
成员,则需要在构造函数中将其附加到该成员。this.getPreference()引用函数osaausage,而不是对象本身。我想访问对象的属性-你看到这样做的机会了吗?@campari让我看看我是否理解你的意思,所有OSAUSSION对象共享一个饥饿对象,该对象具有调用时应访问特定调用OSAUSSION对象属性的函数?(编辑:按回车键)oSausage只调用一次,饥饿对象的函数应该访问oSausage的属性:var x=new oSausage();x、 饥饿;我想避免这样的事情:OSAUSSION.prototype.getPreference=function(){console.log(this.preference)},因为需要用很多函数扩展OSAUSSION。@campari我认为你在混合一些东西。如果将一个对象附加到构造函数的原型,则使用它创建的所有对象都将共享该对象。如果您想让每个
osaausage
拥有一个
hungry
成员,则需要在构造函数中将其附加到该成员。