在javascript中将父对象的这个绑定到子对象的这个
我是javascript对象概念方面的新手。实际上这是个蹩脚的问题,但我想清楚地理解这个概念在javascript中将父对象的这个绑定到子对象的这个,javascript,angularjs,Javascript,Angularjs,我是javascript对象概念方面的新手。实际上这是个蹩脚的问题,但我想清楚地理解这个概念 var objA = { a : 10, b : 20, newobjB : { c : 100, funOfObjB: function(){ console.log(this.a) } } } 在这里,我想通过这个概念得到父对象变量的值 绑定() 方法,但它在(这个)变量中给了我一些不同的数据 感谢您的帮助无法通过newobjB这样引用objA objA只是以名为newo
var objA = {
a : 10,
b : 20,
newobjB : {
c : 100,
funOfObjB: function(){
console.log(this.a)
}
}
}
在这里,我想通过这个概念得到父对象变量的值
绑定()
方法,但它在(这个)变量中给了我一些不同的数据
感谢您的帮助无法通过
newobjB
这样引用objA
objA
只是以名为newobjB
的属性的形式引用对象。可能有多个引用到objA.newobjB
——这不是一对一的关系。您必须在newobjB
向您的对象提供objA
以引用回it1,如:
1当然,您可以省略将objA
附加为newobjB
的属性,但我正在演示一个用例,您需要通过this
返回引用
如果希望此
引用funOfObjB
中的objA
,则可以使用调用
或应用
:
objA.newobjB.funOfObjB.call(objA);
。我试过bind()
-显然你没有,因为你发布的代码中没有。如果您对某一特定代码段有问题,发布该代码段而不是其他代码段是有意义的。在本例中,this
有一个newobjB
的上下文,它根本没有定义a
属性。如果希望newobjB
继承objA
的属性,则需要使用原型继承。其他方法-使用objA.a
代替this.a
Javascript没有父对象的概念。一个对象实际上并不包含另一个对象,它只是对另一个对象的引用。不清楚您在问什么或者您试图使用.bind()
做什么。请澄清你的问题。
objA.newobjB.funOfObjB.call(objA);