2011-05-20 28 views
6

[Aşağıdakileri nasıl elde edebilirim?dinamik olarak bir javascript nesne özniteliği seçin

var object = new Object(); 
object.field1 = "test1"; 
object.fiedl2 = "test2"; 

function showSpecificField(fieldName){ 
    //get the field Name passed in to function from object 
    //something like: return object.fieldName ??? 
} 

alert(showSpecificField("field2"));// should alert the text "test2" 

alert(showSpecificField("field1"));// should alert the text "test1" 

cevap

10

Kullanım square bracket notation

var baz = 'bar'; 
foo['bar'] === foo.bar === foo[baz] 
+0

WOOT! +5 :) http://jsfiddle.net/kralco626/NHqUu/1/ – kralco626

+0

Teşekkürler! - Cevabınızı kabul etmek için 10 dakika daha beklemek zorundayım ... o zaman "999" rep'e sahip olacağım, bu harika bir şey ... tam olarak 1000'e sahip olabilmek bile ... – kralco626

+0

... foo ["bar"] 'üzerinden foo.bar' kullanmanın herhangi bir avantajı var mı? – kralco626

İlgili konular