2013-09-17 4 views
0

Я работаю на C++ веб-IDE для начинающих, где один из его основных функций является, чтобы позволить пользователю узнать результат оценки (правда или ложной) условного заявления они иметь на моем contenteditable div.Оценить строку в качестве условного оператора

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

Можете ли вы предложить способ о том, как бы я оценить текст на фрагменте как условный оператор, который будет возвращать истинным или ложным ...

Пример

когда var b = 5;

$('.frag').eq(1).text() //"if((b>1) || (b==10))" 

после оценки (то, что им с просьбой о помощи) должен возвращать true

$('.frag').eq(2).text() //"(b>1)" 

должен вернуть true

**$('.frag').eq(3).text() //"(b==10)" 

должен вернуть false

UPDATE

Проблема я вижу с e val является то, что если у меня есть var1 в contenteditable div и у меня есть var1 в моем коде. Я должен поставить заголовок на переменные из contenteditable, а затем правильно? как sc_var1, чтобы предотвратить беспорядок с var1 из моего исходного кода?

+4

Звучит как один из немногих случаев, когда 'eval' может помочь ... – cHao

+0

Возможный дубликат [Использование поля ввода строк/текста как условие в выражении JavaScript if] (http://stackoverflow.com/questions/7322388/using-a-string-text-input-field-as-a-condition-in-a-javascript-if-statement) –

ответ

1

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

var expression = $('.frag').eq(1).text(); 
var result = eval(expression); 

Однако я вообще не рекомендую использовать Eval, потому что всегда гораздо лучше обходной путь.

Если я получу более полную картину ваших потребностей, я бы смог предложить лучшее решение.

+0

Y Не рекомендую? – extraRice

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