Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.01.2015, 20:40
Кандидат Javascript-наук
Отправить личное сообщение для Cache Посмотреть профиль Найти все сообщения от Cache
 
Регистрация: 02.05.2013
Сообщений: 111

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

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

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

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

Последний раз редактировалось Cache, 25.01.2015 в 20:47. Причина: добавлено описание
Ответить с цитированием
  #2 (permalink)  
Старый 25.01.2015, 21:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Cache,
eval и не мучайтесь
Ответить с цитированием
  #3 (permalink)  
Старый 25.01.2015, 21:16
Кандидат Javascript-наук
Отправить личное сообщение для Cache Посмотреть профиль Найти все сообщения от Cache
 
Регистрация: 02.05.2013
Сообщений: 111

да, уже сам докумекал, про eval, но все равно спасибо, рони
Ответить с цитированием
  #4 (permalink)  
Старый 25.01.2015, 21:46
Профессор
Отправить личное сообщение для SV0L0CH Посмотреть профиль Найти все сообщения от SV0L0CH
 
Регистрация: 07.11.2010
Сообщений: 301

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка авторизхации пользователя при старте Shasoft Angular.js 7 10.11.2014 17:27
Валидация пользователя по IP-адресу lazerru Общие вопросы Javascript 1 03.04.2013 12:40