2016-02-29 214 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是一个全局变量。 但将其设置为全局变量只是一个非常糟糕的主意。