2013-01-20 27 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屬性。當然,使用這個不起作用,並返回未定義的原因,在這種情況下,如果我理解正確,則指向嵌套對象。

此requestParams對象由AJAX作爲JSON發送。

我可以從這個對象中定義幾個變量並使用它們,但我不想。

它是如何做到的?

+0

它不能用對象字面值來完成。您必須在第二步中添加依賴於其他屬性的屬性。 –

回答

0

不能這樣做。該對象在完全定義之前不會以任何方式提供。所以你不能一步就做到這一點。

+0

其他選項是什麼?如果我用'new'聲明globApp對象,可以這樣做嗎? – Victor

+0

不可以。只使用一條語句就無法做到這一點。您可以創建沒有這些值的對象,然後將它們分配給額外的語句。 – ThiefMaster