2011-05-20 97 views
6

[如何]可以實現以下功能?動態選擇javascript對象屬性

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" 

回答

10

使用square bracket notation

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

WOOT! +5 :) http://jsfiddle.net/kralco626/NHqUu/1/ – kralco626 2011-05-20 11:47:46

+0

謝謝! - 我必須再等10分鐘才能接受你的答案,然後我會有「999」代表,這有點酷...雖然能夠有1000個會更酷...... – kralco626 2011-05-20 11:49:59

+0

出於好奇,在foo [「bar」]'上面使用'foo.bar'還有什麼好處嗎? – kralco626 2011-05-20 11:50:58