1

我使用原型扩展一个对象。在嵌套函数中使用 this 并不是指被继承的对象,而是指函数本身。

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

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

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

    },
    .....
}

有没有办法引用扩展的对象,即 oSausage?

4

1 回答 1

1

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

您可以随时保留对它的引用。

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

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

    },
    .....
}
于 2013-05-17T11:08:24.207 回答