我试图将字符串值转换为表达式,以便可以在if条件中使用它,例如:
var StringVal = '20 > 18 && "yes" == "yes"';
if(StringVal){
....
}
是否可以这样做,请建议我。
谢谢
从用户来源获取输入并进行评估通常并不安全,但是您可以使用Function
评估,或者eval
var StringVal = '20 > 18 && "yes" == "yes"';
if (new Function('return (' + StringVal + ')')()) {
console.log('ok');
}
更新:如果您可以在问题中提供进一步的信息,说明为什么您认为有必要这样做,并附上您的实际代码示例,则可以提出更安全的解决方案。
此外:在中JSON2
,eval
用于JSON.parse
https://github.com/douglascrockford/JSON-js/blob/master/json2.js#L491
但是您还会注意到,在eval
调用之前执行了一些清理操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句