在jQuery中是否有等效的eval()?

use*_*031 1 jquery eval

我试图在jQuery中创建动态变量.我尝试使用eval()它似乎工作正常,但我不认为eval()是一个jQuery函数.eval()jQuery中是否存在等价?在这里查看我的代码:http://jsfiddle.net/3CXgy/

var test = function(pos) {
    alert(eval('COUNT_'+pos));
}

var COUNT_LEFT = 20;
var COUNT_RIGHT = 30;
test('LEFT');
test('RIGHT');
Run Code Online (Sandbox Code Playgroud)

除了使用之外,还有不同的方法eval()吗?我不确定eval()在上面的例子中是否完全没问题.

mpl*_*jan 7

很少有任何理由使用eval

这是你的代码,假设vars是在头部定义的

var test = function(pos) {
    alert(window['COUNT_'+pos]);
}

var COUNT_LEFT = 20;
var COUNT_RIGHT = 30;
test('LEFT');
test('RIGHT');
Run Code Online (Sandbox Code Playgroud)

要不污染全局命名空间,请使用

var COUNT = {"left":20, "right":30 }
var pos = "left";
alert(COUNT[pos]);
Run Code Online (Sandbox Code Playgroud)