在有人声称这是重复之前,我在这里已经阅读了几个关于更好的替代方案的问题,而不是在JavaScript中使用eval,但没有一个问题适用于我的问题。
我提供的字符串包含包含函数名称的表达式。例如,我可能有一个字符串"getHighest(2)+findMiddle()-2*totalLength(rect1,rect2)"
。
我很容易就此致电eval
并获得结果。我主要担心的是安全性,因为我不知道这些字符串来自哪里。似乎我有两个选择:
我偏向于第一个选项,因为在自由格式的字符串表达式上使用eval非常方便。任何人都可以推荐一个我没想到的潜在更好的解决方案,或者说服我这种方法不正确吗?