0

B から A の変数にアクセスしようとしています (以下の例で)。A は単なるコンテナーであるため、A から B を拡張しませんでした。

function A() {
  var Parent = this;
  this.container = [];
}

A.prototype.add = function(Item) {
  Parent.container.push(Item);
}

function B() {

}
B.prototype.exec = function() {
  console.log(Parent.container[0]) //Uncaught ReferenceError: Parent is not defined
}

var Manager = new A();
var Item = new B();
Manager.add(B);
Item.exec();

からのアクセス方法ParentItem

4

2 に答える 2

0
function A() {
  this.container = [];
}

A.prototype.add = function(Item) {
  this.container.push(Item);
}

function B(Parent) {
   this.Parent = Parent;
}
B.prototype.exec = function() {
  console.log(this.Parent.container[0]) //Uncaught ReferenceError: Parent is not defined
}

var Manager = new A();
var Item = new B(Manager);
A.add(B);
B.exec();
于 2013-06-18T13:50:33.007 に答える
0
function A() {
  this.container = [];
}

A.prototype.add = function(Item) {
  //assigning parent property only if Item is added
  Item.Parent = this;
  this.container.push(Item);
}

function B() {
   this.Parent = null;
}
B.prototype.exec = function() {
  console.log(this.Parent.container[0])
}

var Manager = new A();
var Item = new B();
Manager.add(Item);
Item.exec();
于 2013-06-18T13:52:44.140 に答える