2012-09-27 35 views
1

這是非常基本的...JavaScript提示/快訊問題

我被困在做什麼,雖然。

alert("The capital of " + n + " is " + capitals.n); 

警報中的capitals.n出現爲未定義。我能做些什麼來解決這個問題?

+0

的可能重複(http://stackoverflow.com/questions/4255472/ javascript-object-access-variable-property-name)和[Dynamic object property name](http://stackoverflow.com/questions/4244896/dynamic-object-property-name)。 –

回答

2

使用方括號:

alert("The capital of " + n + " is " + capitals[n]); 

你現在有什麼會尋找的capitals與標識符n,不存在的屬性。相反,您希望使用n作爲標識符。

+0

@FelixKling - 已經有!我發現OP通常首先回答(看起來如此簡單而快速),而不是找到與欺騙相關的鏈接通常對OP更有幫助。 –

+0

海事組織它鼓勵儘管提問而不先搜索。好吧,OP有時候不知道要搜索什麼,但即使如此,它仍然留下這樣的印象:簡單地問問比搜索更容易,但事實並非如此。它也會產生噪音(不必要的類似問題)。我理解你的觀點,我認爲沒有必要複製內容,並且我認爲從長遠來看,這對網站來說並不好。但那不是評論的討論...... –

0

使用方括號而不是點符號:

alert("The capital of " + n + " is " + capitals[n]);

說明:

  • capitals.n查找屬性字面名爲 'N'。
  • capitals[n]尋找以變量n的值作爲名稱的屬性。

(通過給capitals.n值在你的代碼,比如驗證:capitals.n = 'FOO')?JavaScript對象,訪問變量屬性名稱]