javascript:如何通过它的名字字符串调用var?

时间:2015-03-06 14:23:06

标签: javascript string var

我有

var mean = 20;
var median = 30;

我的函数应该获取string类型的参数('表示' /'中位数'),并对并行var做一些事情:

function compute(varNameAsString){
  return varNameAsString.toVariable() + 5;
} 

如何实现toVariable? 我试过了

varNameAsString.valueOf()

但它没有工作......

谢谢!

3 个答案:

答案 0 :(得分:1)

See here

使用哈希表。试试这个。

var values = { mean: 20, median: 30 };

function compute(varManeAsString){
  return values[varNameAsString] + 5;
}

这应该有效。

当然,您总是可以使用eval,但正如我链接的帖子所说,哈希表通常更好。

答案 1 :(得分:0)

尝试:

return eval(varNameAsString) + 5;

答案 2 :(得分:0)

你可以window[varNameAsString]

var mean = 20;
var median = 30;

function compute(varNameAsString){
  return window[varNameAsString] + 5;
} 

compute('median'); // Will output 35