javascript 팝업 작성하는 동안 동일한 객체의 속성을 참조하려면 어떻게해야합니까?




팝업 타이틀 바꾸기 (4)

그것을하는 또 다른 방법 :

(function() {
    var some = { foo: 42 };
    window.o = {
        a: some,
        b: some
    };
})();

alert(o.b.foo);

이 질문에는 이미 답변이 있습니다.

나는 같은 것을하기 위해 노력하고있다.

o = {
  a: { foo: 42 },
  b: o.a
}

그러나 그것은 o가 정의되지 않았다는 에러를 반환합니다. 나는 나중에 ob = oa 할 수 있습니다.하지만 o 정의하는 동안 b 정의 할 수 있는지 궁금하네요.


o = {};
o.a = {foo: 42};
o.b = o.a;

@ RobG가 논평 한대로 - 아니, 할 수 없다.

그러나 다음과 같이 this 키워드를 객체의 속성으로 정의 된 함수 내에서 사용할 수 있습니다.

o = {
  a: { foo: 42 },
  b: function () {
      return this.a;
  }
}

console.log(o.b()); // {foo: 42};

이것은 지금 고대의 역사 일뿐입니다.하지만 저는 여러분의 상황에 완벽하게 맞는 게터와 세터 에 대해 배웠습니다. 그리고이 문제를 보는 사람들이 그걸로 가치를 얻을 수있을 것이라고 확신합니다.

o = {
  a: { foo: 42 },
  get b() {
    return this.a
    }
  }

console.log(o.b) // => { foo: 42 }




object