将字符串转换为表达式

Pay*_*deh 6 javascript

有没有办法将字符串转换为表达式?

我的字符串: var1 == null && var2 != 5

我想使用这个字符串作为if(),喜欢的条件if(var1 == null && var2 != 5)

999*_*99k 15

使用eval.这样做

if (eval(" var1 == null && var2 != 5"))
{
}
Run Code Online (Sandbox Code Playgroud)


Vis*_*ioN 5

一种选择是创建并调用new Function

var strExpr = "var1 == null && var2 != 5";
if (new Function("return " + strExpr)()) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

  • 如果您需要重复调​​用它,此方法比 eval 更安全,而且速度要快得多。 (2认同)