Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   расчет уравнения полученного от пользователя (https://javascript.ru/forum/misc/53230-raschet-uravneniya-poluchennogo-ot-polzovatelya.html)

Cache 25.01.2015 20:40

расчет уравнения полученного от пользователя
 
Здравствуйте.

Подскажите, как подсчитать результат, если знак действия в уравнении (плюс, минус и т.д.) находится в переменной.
т.е., к примеру, как посчитать значение выражения, если:
var a='33+10';
alert(Number(a)) // возвращает NaN

или
var a='33',b='+',c='10';
alert(Number(a+b+c)) // возвращает NaN

все данные - в виде строки

рони 25.01.2015 21:09

Cache,
eval и не мучайтесь

Cache 25.01.2015 21:16

да, уже сам докумекал, про eval, но все равно спасибо, рони

SV0L0CH 25.01.2015 21:46

Для более гибкой настройки рекомендую использовать такую конструкцию:
(new Function(names..., "return("+code+");"))(values...)
Так можно передавать такие необходимые значения как поля объекта Math и изолироваться от среды выполнения.


Часовой пояс GMT +3, время: 11:51.