2014-02-14 41 views
2

我有一个在javascript中声明的变量my_var。 如何获取此变量的文字字符串值。获取javascript变量的字面值

这背后的原因是我需要设计一个通用的功能是这样的:

function (myvar){ 
$('#'+ "myvar").show(); 
var = ....; 
} 
+0

对不起,不明确,功能应该是函数(MYVAR){ $( '#' +“myvar”)。show(); myvar = ....; } – aladine

+0

我想在同一个函数中同时使用变量myvar和字符串值“myvar” – aladine

+0

你想对字符串值做什么? –

回答

1

var是一个保留字javsacript你需要在功能更改参数的名称。

function (myVariable){ 
    $('#'+ myVariable).show(); 
} 
0

我还没有发现在JavaScript中使用反射的有效途径。当我有同样的要求,最后我用一个对象作为参数,而不是

function test(args) { 
    for(var item in args) { 
     console.log(item); 
     console.log(args[item]); 
    } 
} 

test({ 
    myvar1:"value of myvar1", 
    myvar2:"value of myvar2", 
    somenumber:50 
}); 

这将打印

myvar1

值myvar1

myvar2

价值的myvar2

somenumber

编辑

更多相关的例子:

function doStuff (oMyVar){ 
    for(var item in oMyVar) { 
     alert(item);    // alerts "myvar" 
     alert(oMyVar[item]);  // alerts 22 

     $('#'+ item).show();  // show the element 
     oMyVar[item] = 33;   // changes 22 to 33 
    } 
} 

var v = {'myvar':22}; 

// before call 
alert(v.myvar);      // prints 22 

// to call 
doStuff(v); 

// after call 
alert(v.myvar);      // prints 33 
+0

谢谢,你的解决方案似乎认为myvar1和myvar2是json对象中的字符串。 – aladine

+0

是的。该字符串是'myvar1'属性的名称。要获取属性的值,可以使用'args [myvar1]'这将获得属性的类型值 – jasonscript

+0

@aladine,我已经更新了我的答案以包含更详细的示例 – jasonscript