我是javascript对象概念的新手。实际上它是一个蹩脚的问题,但我想清楚地理解这个概念。
var objA = {
a : 10,
b : 20,
newobjB : {
c : 100,
funOfObjB: function(){
console.log(this.a)
}
}
}
这里我希望通过这个概念得到父对象变量的值。我试过
bind()
方法,但它在(this)变量中给出了一些不同的数据。
感谢您的帮助
答案 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
,那么您可以使用funOfObjB
或call
:
apply