2

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

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

这只是检查变量是否为空。但我需要检查变量的值作为语句并通过 if 条件检查它。

变量 value 不是 static ,即使 value 中可能存在超过 2 个参数。如何解决这个问题?

4

2 回答 2

4

你可以使用邪恶 eval()

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

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

它将字符串评估为 JavaScript 代码。

于 2015-04-24T12:08:21.227 回答
0

您可以使用评估

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

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

或函数构造函数:

if (new Function('return ' + searchQuery)() === true)
    alert('yes');
于 2015-04-24T12:11:14.713 回答