我的 javascript 字符串是这样的: "accepted === accepted && 50 > 100" 现在我必须 return 关于这个字符串是否有效的布尔值

my javascript string is like this: "accepted === accepted && 50 > 100" Now I have to return boolean ans about this string which is valid or not

我正在创建一个动态条件生成器,它将 return 给我一个 javascript 字符串,例如, tpc_1 === accepted && tpc_6 > 100 替换函数后我的新字符串是, accepted === accepted && 50 > 100

现在我必须检查这个字符串作为 javascript 字符串是否有效?

我需要 return 中唯一的布尔值答案。所以我决定使用 eval() 函数。当我通过 eval(condition) condition is variable which stores my string 它会告诉我像 *

这样的错误

accepted is not defined

当我在控制台中作为 eval('condition') 传递时,它将简单地写入控制台 accepted === accepted && 50 > 100

那么如何解决这个问题。请帮我解决这个问题。

eval 计算时,

accepted 被视为变量。所以你提到了带引号的字符串。 试试这个 eval("'accepted' === 'accepted' && 50 > 100");

接受的需要加引号

eval('"accepted" === "accepted" && 50 > 100')

您可以使用模板文字插入变量,如下所示。

eval(`"${tpc_1}" === "accepted" && ${tpc_6} > 100`)