在javascript中将父对象的this绑定到子对象的this

时间:2015-11-26 07:17:22

标签: javascript angularjs

我是javascript对象概念的新手。实际上它是一个蹩脚的问题,但我想清楚地理解这个概念。

var objA = {
 a : 10,
 b : 20,
 newobjB : {
  c : 100,
  funOfObjB: function(){
   console.log(this.a)
  }
 }
}

这里我希望通过这个概念得到父对象变量的值。我试过

bind()

方法,但它在(this)变量中给出了一些不同的数据。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

无法像objA那样引用newobjB

objA只是引用了一个名为newobjB的属性形式的对象。可能存在对objA.newobjB的多个引用 - 它不是1对1的关系。您必须在objA向对象提供newobjB以引用它 1 ,例如:

var objA = {
    a : 10,
    b : 20,
};

objA.newobjB = {
    objA: objA,
    c : 100,
    funOfObjB: function(){
        console.log(this.objA.a)
    }
};

1 当然,您可以在此处省略objA作为newobjB的属性,但我正在演示一个用例,您需要通过{{1 }}

如果您希望this引用this中的objA,那么您可以使用funOfObjBcall

apply