用于布尔表达式计算的Javascript eval
Javascript eval for boolean expression evaluation
我需要计算用户构建的布尔表达式。我认为有两种方法:
1)创建一个字符串并传递给eval
2)构建一个抽象语法树,并自己计算
我用eval实现了它,因为它是最简单的解决方案。我不相信第二个选择会更好,如果它实际上更慢,我也不会感到惊讶。
安全性应该不是问题,因为我是从一组预先确定的值构建表达式的。
在大多数情况下,表达式将非常简单,但也可以构建更复杂的表达式。这是最复杂的了:"(true||false&&false)&&(true)"
想法吗?
我认为这是eval的一个有效用例。但是,如果您想要使用CSP(内容安全策略),那就太棒了。
相关文章:
- Javascript eval()无法处理传递的字符串
- Semi-sandboxing Javascript eval
- javascript eval方法语法
- JavaScript eval() and const
- mongo javascript --eval is failing
- Javascript eval查询字符串
- javascript eval删除问号后的所有内容
- Javascript eval(0047) returns 39
- Javascript eval - obfuscation?
- JavaScript eval in JavaApplication: "javax.script.scrip
- JavaScript eval(“{}”) 返回行为
- 获取 eval 的“窗口”对象,并列出所有变量?Javascript eval inline html.
- 如何将二进制文字传递给 JavaScript eval
- 你如何让 javascript eval 返回一个字符串而不是一个变量
- Javascript eval() for Json 字符串注入了全局作用域函数
- JavaScript eval() 失败与 window.external.notify(),适用于 window.al
- Javascript eval 在计算数学表达式时,如果使用的数字以 0 开头,则给出错误的输出
- Javascript - eval() `{}` expression
- 如何避免此javascript eval()
- 客户端上用于运行不受信任代码的JavaScript eval()