2016-02-29 97 views
-2

這看起來很簡單...從變量值獲取對象?

我有一個對象

var VR03 = { 
    name: "Eternal Growth Ring", 
    price: "2500" 
} 

我有一個功能,在這裏我給你一個變量的字符串

function myFunction(){ 
    js_type = jQuery('#type').val(); 
    console.log(js_type); //returns "VR03" 
} 

我怎麼能只返回VR03.name使用js_type

function myFunction(){ 
    jQuery('h1').text(?); 
} 

我已經試過String(js_type).name但這會導致同js_type.name

+1

你有幾個對象,屬性,功能等好吧,代碼在哪裏? – leDominatre

+0

不要把你的代碼放在評論中。在問題本身內插入**最小的,可驗證的代碼**。 – leDominatre

+0

*「我給一個變量賦一個字符串」* - 不,你不知道。您顯示的代碼爲該對象分配一個引用。 – nnnnnn

回答

1

一個簡單的方法來動態查找基於字符串的目的是用另一個對象的查找表:

var types = { 
    "VR03": { 
     name: "Eternal Growth Ring", 
     price: "2500" 
    } 
} 

function myFunction() { 
    var js_type = jQuery('#type').val(); 
    var type = types[js_type]; 
    if (type) 
     jQuery('h1').text(type.name); 
    else 
     // Type not found. 
} 
0

在瀏覽器中,你可以嘗試

window[js_type].name 

小號因此你的VR03是一個全局變量。 但將其設置爲全局變量只是一個非常糟糕的主意。