我有以下情况:
var answer = 'three';
var isClosed = true;
var condition = "answer != null && !isClosed";
条件是一个文字字符串,由用户动态设置。一旦他们设置了条件,我需要在 IF/ELSE 语句中对其进行评估:
if(condition)
//Do something
else
//Do something
我可以在不使用“eval()”的情况下做到这一点吗?如何?我想避免它:
if(eval(condition))
...
注意:这是一个简单的示例,实际情况因动态条件而有点复杂:)
最佳答案
如果你想逃避eval
不惜一切代价(因为出于安全原因这可能非常危险),你基本上需要一个 rules engine
适应您的dsl
您从数据库中获取的信息。
我用谷歌搜索了这个,看起来相当不错C2FO ,并没有真正尝试过,但现在您知道从哪里开始。
关于javascript - 如何在 IF 语句内的字符串中使用条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26740171/