2015-04-24 2 views
2

У меня есть динамическое условие if, как я могу проверить его с помощью, как это: -использования переменной, если условие в JavaScript

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

это только проверка, что переменная пуста или нет. но мне нужно проверить значение переменной как оператор и проверить его по условию if.

Значение переменной не является статическим, даже в значении может существовать более 2 аргументов. как это решить?

ответ

4

Вы можете использовать evileval():

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

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

Он оценивает строку как код JavaScript.

0

Вы можете использовать Eval

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

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

или функции конструктора:

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