javascript - 如何在 IF 语句内的字符串中使用条件

标签 javascript string boolean eval conditional-statements

我有以下情况:

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/

相关文章:

c++ - 实现文件中的命名空间以对 const 字符串文字进行分组 - 好/坏?

java - 从字符串中按名称获取变量

elasticsearch - Elastic Multimatch Query与文档不匹配

javascript - 如何使用 Javascript 将 JSON boolean 值更改为"is"或“否”

javascript - 如何在docker中使用mariadb部署ghost?

javascript - 我如何在地点图像上重新创建此 google plus 效果

c++ - 在 C++ 中使用 getline 忽略空格

python - 以 boolean 值作为索引的数组切片

javascript - Django、HTML、JS : <img src ="#"> work in HTML but in JS file not

javascript - $find ('mycontrol' ) 能做什么而 jquery $ ('#mycontrol' ) 不能做什么?