2014-01-24 6 views
0

Я работаю в JavaScript. Я хочу анализировать и оценивать условное выражение. например:javascript условное выражение parser

var param1=1; 
    var param2=2; 
    var param3=3; 
    var expression="(param1==param2)||(param3<param1)"; 

Я хочу, чтобы написать функцию, которая будет принимать «выражение» в качестве входных данных и анализировать выражение, а также оценить выражение и возвращает результат оцененного.

Пожалуйста, дайте мне знать о любых предложениях.

Заранее спасибо.

+0

Почему бы не выразить функцию как вход? Откуда возникает «условное выражение»? Какую грамматику вы хотите? – Bergi

+0

в моем приложении пользователь вводит условное выражение вручную и, соответственно, должен его оценивать. – user1755390

+0

Эти выражения используются только для пользователя, который их ввел? Если нет, вы не должны использовать 'eval' и co, int use использовать парсер и оценивать их вручную. Грамматика должна быть довольно тривиальной. – Bergi

ответ

1

Вот злая: eval();

var param1=1; 
var param2=2; 
var param3=3; 
var expression=eval("(param1==param2)||(param3<param1)"); 

Тогда ваша функция приходит,

function myEvaluator(s) { 
    return eval(s); 
} 

Вы должны иметь переменные в выражении общественности.

+0

Функция eval не работает как ожидалось для условного выражения. var expression = eval (1 == 2) возвращает true вместо false. – user1755390

Смежные вопросы