【发布时间】:2014-11-04 16:28:31
【问题描述】:
我有以下情况:
var answer = 'three';
var isClosed = true;
var condition = "answer != null && !isClosed";
条件是文字字符串,由用户动态设置。一旦他们设置了条件,我需要在 IF/ELSE 语句中对其进行评估:
if(condition)
//Do something
else
//Do something
我可以不使用“eval()”来做到这一点吗?如何?我想避免它:
if(eval(condition))
...
注意:这是一个简单的例子,实际情况有点复杂,动态条件:)
【问题讨论】:
-
为什么不直接做“var condition = answer != null && !isClosed;” ?
-
@Mironor 不完全是,技术用户将条件作为字符串加载到数据库中。条件可能取决于在另一个表上定义并经常更新的不同变量。
-
难道你不能有一个函数可以从不同的变量到你想要的条件吗?
-
那么 answer 和 isClosed 不能单独提取?
标签: javascript string boolean eval conditional-statements