0

可能很明显,但仍然让我感到困惑。

无论如何都可以从另一个对象的原型调用另一个对象内的原型吗?

当前集:

function obj1() {
    this.myVar = 1;
}

obj1.prototype.helloWorld = function() {
    alert("Hello world!");
}

function obj2() {
   this.myVar = 2;
}

obj2.prototype.nonSense = function() {
    console.log(this.myVar);
}

1.Obj2原型可以以nonSense某种方式调用原型吗?** 2.原型可以以某种方式访问​​变量吗?helloWorldObj1
Obj2nonSenseObj1myVar

4

1 回答 1

0

我不太确定您要做什么,但您可以helloWorld直接调用该方法:

obj1.prototype.helloWorld();

如果您有 的实例obj1则可以摆脱prototype

var myObj1 = new obj1();
myObj1.helloWorld();

myVar要从外部访问,obj1您需要调用obj1-myVar在您调用声明它的函数之前不会存在。最有可能的是,您希望obj1通过使用运算符调用它来创建一个实例new,如上所示。然后,您可以myVar像访问任何其他属性一样访问:

console.log(myObj1.myVar);
于 2012-07-05T11:11:51.817 回答