我有if
的动态条件,如何使用以下方式检查: -
var searchQuery = '(data.id == "1") && (data.first == "et")';
if(searchQuery === true)
alert('yes');
这只是检查变量是否为空。但我需要将变量的值检查为语句,并按条件检查。
变量值不是静态的,即使在值中可能存在多于2个参数。如何解决这个问题?
答案 0 :(得分:4)
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');