2014-03-02 201 views
1

我有一個JavaScript對象定義如下:使用字符串作爲屬性名

var user = { name:'Allen', age:'26', gender:'male'} 

我想通過字符串引用用戶屬性user.name如下面:

var string = "name"; 
var username = user.string; 

這不工作,我會怎麼做呢?

編輯︰只是爲了澄清,我希望user.string是相當於user.name - 有人可能會問爲什麼我不只是調用user.name,這是因爲我有一個字符串數組,我想要爲該對象進行評估。

+2

var username = user [string]? – sinisake

+0

@ cokeman19不完全... –

+0

[動態對象屬性名稱](http://stackoverflow.com/questions/4244896/dynamic-object-property-name)和[一堆其他](http:///stackoverflow.com/questions/17832583/create-an-object-with-dynamic-property-names#comment26027295_17832583) –

回答

5

你會做這樣的事情

var string = 'name'; 
var username = user[string]; 

訪問字符串中的屬性。

現在你的代碼試圖訪問用戶的一個未定義的'string'屬性。

+0

這個作品!我猜對象也可以評估爲字典,謝謝! – Allen

0

不是100%確定你的意思。您可以通過user.name訪問名稱屬性。它會返回艾倫。

var user = { name:'Allen', age:26, gender:'male' } 

var name = user.name; // 'Allen' 
var age = user.age; // 26 
var gender = user.gender; // 'male' 
+0

基本上,我想獲得字符串的REFERENCE。例如,如果我有一個var x =「name」,那麼我希望user.x等於user.name – Allen

相關問題