Javascript:访问这个内部原型

Javascript: access to this inside prototype

本文关键字:内部 原型 访问 Javascript      更新时间:2023-09-26

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

我尝试扩展的插件已经有一个原型的实现,所以需要定义一个新的对象'hungry':

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

是否有一种方法来引用被扩展的对象,例如:usage?

这里的核心问题是hungry对象独立于oSausage对象。其他对象也可以拥有对它的引用。所有oSausage都是对它的引用,所以你的hugry对象对它的所有者没有"意识"。

你可以一直保持对它的引用。

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

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