【发布时间】:2017-04-04 09:23:11
【问题描述】:
我有一个包含一些条件的字符串,例如:
var str = "this.demoModel.active == '1' && this.demoModel.span > 5 || ..."
javascript 中是否有直接的方法来解析它们,以便它们像一组条件一样工作。类似的东西:
if (JSON.parse(str) {})。 ??
【问题讨论】:
-
@musefan 不鼓励使用
eval。 -
重新思考你的逻辑。将代码存储在字符串中以便稍后对其进行评估是不好的做法。
-
@SagarV:我不需要你向我解释危险。我希望你支持你的陈述。有完全有效的情况可以正确使用,所以盲目地说“不要使用它”是不对的。你甚至不知道 OP 的全部情况,所以你怎么能确定它是错误的?
-
@AshishRanjan 这些字符串来自哪里?为什么需要评估字符串而不是运行真实代码?
-
@musefan 因为他没有足够的经验,甚至不知道
eval和Function构造函数,所以你如何假设他会知道使用它们的可能含义/危险?这就是为什么他应该不鼓励使用它们,而是寻找一种不同的方法来解决他的问题。为什么eval通常不受欢迎是因为在社区拥有数十年的经验。
标签: javascript parsing