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