2013-01-20 3 views
0

편안한 스타일 웹 서비스에서 작동하는 모바일 앱용 클라이언트 측을 작성하고 있습니다.Javascript 리터럴 중첩 객체 - 최상위 속성 참조

var globApp = { 
    sessionId : "", 
    lastActionName: "", 
    userName : "2victor", 
    md5Pwd : "1234", 
    hostApiPath : "http://host/api", 
    action : { 
     login : { 
      scriptPath : "/acc/login", 
      method : "PUT", 
      requestParams : { 
       user : this.userName, 
       pwd : this.md5pwd 
      }, 
      responseParams : { 

      } 
     }, 
     register : { 
      scriptPath : "/acc/reg", 
      method : "POST", 
      requestParams : { 
       user : "myUserName", 
       fname : "myFirstName" , 
       lname : "myLastName" , 
       email : "[email protected]" , 
       age : "28" , 
       gender : "male" , 
       pwd : "1234" , 
       priv : "good" 
      }, 
      responseParams : { 

      } 
     } 
    } 
} 

응용 프로그램 시작시 userName 및 md5pwd 등록 정보가 지정됩니다. 내가 원하는 것은 각각의 작업에 대해 requestParams 객체 아래에 user 및 pwd 속성에이 값을 할당하는 것입니다. 물론 이것을 사용하면 작동하지 않고 undefined로 반환됩니다. 올바른 경우이 경우 중첩 된 객체를 참조합니다.

이 requestParams 객체는 AJAX에 의해 JSON으로 전송됩니다.

이 개체에서 몇 가지 변수를 정의하고 사용할 수는 있지만 원하지 않습니다.

어떻게 할 수 있습니까?

+0

개체 리터럴을 사용하여 수행 할 수 없습니다. 다른 단계에 의존하는 속성을 추가해야합니다. –

답변

0

할 수 없습니다. 객체는 완전히 정의되기 전까지는 사용할 수 없습니다. 그래서 당신은 한 번에 그것을 할 수 없습니다.

+0

다른 옵션은 무엇입니까? globApp 객체를 'new'로 선언하면 할 수 있습니까? – Victor

+0

아니요. 하나의 명령문 만 사용하여 수행 할 수 없습니다. 이러한 값을 사용하지 않고 개체를 만든 다음 추가 문에서 개체를 할당 할 수 있습니다. – ThiefMaster

관련 문제