jquery - jQuery 中有等效的 eval() 吗?

标签 jquery eval

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

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

var COUNT_LEFT = 20;
var COUNT_RIGHT = 30;
test('LEFT');
test('RIGHT');

除了使用eval()之外,还有其他方法可以做到这一点吗?我不确定 eval() 在我上面的示例中是否完全正常。

最佳答案

很少有理由使用 eval

这是您的代码,假设变量是在头部定义的

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

var COUNT_LEFT = 20;
var COUNT_RIGHT = 30;
test('LEFT');
test('RIGHT');

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

var COUNT = {"left":20, "right":30 }
var pos = "left";
alert(COUNT[pos]);

关于jquery - jQuery 中有等效的 eval() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15459044/

相关文章:

javascript - 使用 Jquery 或 Javascript 解析字符串

javascript - 如何在Jquery中解除keydown事件的绑定(bind)一段时间然后再次绑定(bind)它?

jquery - window.onload 在 Firefox 中的 jQuery document.ready 之前触发

javascript - 评估后的返回值

c# - ASP :hyperLink NavigateURL and Eval functions

python - 为什么 Python 3 中的 `input` 抛出 NameError : name. .. 未定义

javascript - 防止在时间范围内对同一 url 进行多次 AJAX 调用

javascript - 单击子元素时,向同级元素添加属性

php - 如何按名称调用方法?

python3/hy - 评估 python 中的 hy 表达式?