我正在尝试访问一个对象(childObject1
),它是函数(childObject2
)的兄弟对象。虽然情况确实如此,但似乎该功能无法访问childObject1
,但它可以访问其中的字段,例如grandChildObject1
。
parentObject: {
childObject1: "Child Object 1",
childObject2: function() {
var grandChildObject1 = "Grandchild Object 1";
console.log(childObject1);
console.log(grandChildObject1)
}
}
第一个日志打印:
未定义
第二个日志打印:
孙子对象1
如果他们是兄弟姐妹,为什么该功能无法访问childObject1
的值?
答案 0 :(得分:2)
您必须使用this
:
var parentObject = {
childObject1: "Child Object 1",
childObject2: function() {
var grandChildObject1 = "Grandchild Object 1";
console.log(this.childObject1);
console.log(grandChildObject1);
}
};
parentObject.childObject2();

答案 1 :(得分:1)
您需要使用this
。改变
console.log(childObject1);
到
console.log(this.childObject1);
答案 2 :(得分:0)
就像任何其他静态方法一样,你必须通过父对象,例如从childObject2访问它时的parentObject1.childObject1。没有静态对象的实例,因此它们不是真正的逻辑兄弟。