在javascript中使用if条件中的变量值

时间:2015-04-24 12:06:19

标签: javascript if-statement dynamic-values

我有if的动态条件,如何使用以下方式检查: -

var searchQuery = '(data.id == "1") && (data.first == "et")';
if(searchQuery === true)
    alert('yes');

这只是检查变量是否为空。但我需要将变量的值检查为语句,并按条件检查。

变量值不是静态的,即使在值中可能存在多于2个参数。如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

您可以使用evil eval()

var searchQuery = '(data.id == "1") && (data.first == "et")';

if(eval(searchQuery))
    alert('yes');

它将字符串计算为JavaScript代码。

答案 1 :(得分:0)

您可以使用eval

var searchQuery = '(data.id == "1") && (data.first == "et")';

if(eval(searchQuery) === true)
    alert('yes');

或函数构造函数:

if (new Function('return ' + searchQuery)() === true)
    alert('yes');