我不确定标题是否做到了这一点,但这就是我所拥有的...

function A() {};

A.prototype.B = function(){
   this.backref = //??  --  should be set to "a"
};

var a = new A();  // specialized factory...

var b = new a.B();  // instantiate an "a" specialized version of B
var zztop = b.backref instanceof A; //would be true


我需要将backref分配给称为B构造函数的实例“ a”。我怎样才能做到这一点?我已经浏览了Chrome调试器中的所有属性,甚至不确定是否可行。有人知道怎么做吗?我需要这样做,因为我需要访问存储在“ a”中的变量。还是有更好的方法来做类似的事情?

最佳答案

我不确定是否仅使用给定的属性就能做到这一点,但是您始终可以使backref成为B构造函数的参数之一:

A.prototype.B = function(backref) {
    this.backref = backref;
}

var a = new A();
var b = new a.B(a);


丑陋,但是行得通。

10-06 14:00